链表是一种线性结构,每一个节点中,储存了下一个节点的指针。
1.链表的构造函数,属性是头指针和长度
2.节点的构造函数,属性是element值和指向下个节点的指针
3.原型方法
append(element): 添加元素到链表尾部.
insert(position,element): 向单向链表中某个位置插入元素
indexOf(element): 寻找某个元素在单向链表中的位置
remove(element): 移除给定的元素
removeAt(position): 移除单向链表中某个位置的元素
getHead(): 获取单向链表的头部
isAmpty(): 检查单向链表是否为空,为空则返回true
toString(): 将链表所有内容以字符串输出
size(): 返回单向链表长度
append: 添加元素到链表尾部.
创建新节点元素,如果头节点为null,则头指针指向新节点。如果不是,while循环到最后一个,从而将该节点加入链表尾部。
insert:
indexOf:寻找某个元素在单向链表中的位置
function Node(element){
this.element = element;
this.next = null;
}
function LinkedList(){
this.head = null;
this.length = 0;
}
LinkedList.prototype = {
constructor:LinkedList,
append:function(element){
var node = new Node(element),
current;
if(this.head == null){
this.head = node;
} else {
current = head;
while(current.next) {
current = current.next;
}
current.next = node;
}
this.length++;
},
insert:function(){
},
indexOf:function(element){
var current = this.head,
index = -1;
while(current){
if(element === current.element) {
return index;
}
}
},
}