1.单向链表
概念:链表是由一组节点组成的集合。 每个节点都使用一个对象的引用指向它的后继。 指向另一个节点的引用叫做链。
直接上代码:
var LList = function() {
var Node = function(element) {
this.element = element;
this.next = null;
};
var find = function(element) {
var currentNode = this.head;
while(currentNode && currentNode.element !== element) {
currentNode = currentNode.next;
}
return currentNode;
};
var findPrevious = function(element) {
var currentNode = this.head;
while(!(currentNode.next==null) && currentNode.next.element != element){
currentNode = currentNode.next;
}
return currentNode;
};
var insert = function(newElement, item) {
var newNode = new Node(newElement);
var current = this.find(item);
newNode.next = current.next;
current.next = newNode;
};
var remove = function(element) {
var previousNode = this.findPrevious(element);
if(!(previousNode== null)) {
previousNode.next = previousNode.next.next;
}
};
var display = function() {
var currentNode = this.head;
while(!(currentNode.next == null)) {
console.log(currentNode.element);
currentNode = currentNode.next;
}
};
this.head = new Node("head");
this.find = find;
this.insert = insert;
this.remove = remove;
this.display = display;
this.findPrevious = findPrevious;
}