// 定义链表所有操作
var linklist = function(){
//定义结点
var Node = function(element){
this.element = element
this.next = null
}
//定义头指针为空
var head = null
var length = 0
//向链表尾追加元素
this.append = function(element){
var node = new Node(element)
if(head == null){
head = node
}
else{
var current = head
while(current.next != null){
current = current.next
}
current.next = node;
}
length++;
}
//向链表中间插入内容
this.insert = function(position,element){
var node = new Node(element)
if(position == 0){
var current = head
head = node;
head.next = current
}
else{
var previous = null
var index = 0
var current = head
while(index < position){
previous = current;
current = current.next;
index++;
}
node.next = current;
previous.next = node;
}
length++;
}
//根据索引位置删除链表元素
this.removeAt = function(position){
if(position < 0 || position > length){
return -1;
}
else{
var current = head
var index = 0
var previous = null
while(index < position){
previous = current;
current = current.next;
index++
}
previous.next = current.next;
}
length--;
}
//根据值返回其索引值
this.indexof = function(element){
var current = head
var index = 0
while(current){
if(current.element === element)
return index;
current = current.next;
index++;
}
return -1;
}
//根据值删除其链表内容
this.remove = function(element){
return this.removeAt(this.indexof(element));
}
//返回链表头部内容
this.gethead = function(){
return head;
}
}
javascript 链表创建及操作
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 虽然开发中很少用到链表,不过面试的时候,有的面试官还是会问链表问题的,今天就使用C简单写了一个链表 创建一个结构体...
- 1. createElement createElement通过传入标签名创建元素。用法如下: 2. create...