LinkedList.d.ts 542 B

123456789101112131415161718192021222324
  1. import types = require('./types');
  2. declare namespace LinkedList {
  3. class Node {
  4. value: any;
  5. prev: Node | null;
  6. next: Node | null;
  7. }
  8. }
  9. declare class LinkedList {
  10. size: number;
  11. head: LinkedList.Node;
  12. tail: LinkedList.Node;
  13. push(val: any): number;
  14. pop(): any;
  15. unshift(val: any): number;
  16. shift(): any;
  17. find(fn: types.AnyFn): LinkedList.Node | void;
  18. delNode(node: LinkedList.Node): void;
  19. forEach(iterator: types.AnyFn, ctx?: any);
  20. toArr(): any[];
  21. }
  22. export = LinkedList;