单向链表,
是链表的一种,特点是链表的链接方向是单向,访问链表每次都要从头开始
每个节点引用着下一个节点function LinkList(){
// 节点
var Node = function(element){
this.element = element;
this.next = null;
}var head = null; // 定义一个头节点
var length = 0; // 链表长度this.append = append; // 添加一个元素
this.insert = insert; 在指定一个位置插入一个元素
this.remove = remove; // 删除一个元素
this.removeAt = removeAt; // 删除指定位置的元素function append(element){
var node = new Node(element);
var current;
if(head == null){
head = node;
}else{
current = head;
while(current.next){
current = current.next;
}
current.next = node;
}
length++;
}function insert(position, element){
if(position>=0 && position<=length){
var node = new Node(element);
var current=head, previous, index=0;
if(position == 0){
node.next = current;
head = node;
}else{
while(index++ < position){
previous = current;
current = current.next;
}
node.next = current;
previous.next = node;
}
length++;
return true;
}else{
return false;
}
}function remove(element){
var index = this.indexOf(element);
return this.removeAt(index);
}function removeAt(position){
if(position>=0 && position<=length){
var current = head;
var index = 0, previous;
if(position == 0){
head = current.next;
}else {
while(index++<postion){
previous = current;
current = current.next;
}
length--;
}
return true;
}else {
return false;
}
}
}
数据结构-链表
最新推荐文章于 2024-04-27 18:39:36 发布