Untitled
unknown
typescript
2 years ago
754 B
7
Indexable
type listNode<T> = { data: T; next: listNode<T> | null; } class LinkedList<T> { private head: listNode<T>; constructor(init: T) { this.head = { data: init, next: null } } hasNext(node: listNode<T>): boolean { return node.next != null; } remove(data: T): void { let p = this.head while (this.hasNext(p)) { if (p.next!.data == data) { break; } p = p.next! } p.next = null; } append(data: T): listNode<T> { const node: listNode<T> = { data, next: null }; if (this.head == undefined) { this.head = node } let p = this.head; while (this.hasNext(p)) { p = p.next! } p.next = node return node } getHead(): listNode<T> { return this.head } }
Editor is loading...