zoukankan
html css js c++ java
javascript中实现的链表
function
Entry(next, data)
{
this
.next
=
next
this
.data
=
data
}
function
Iterator(node)
{
this
.cousor
=
node
this
.hasNext
=
function
()
{
return
(
this
.cousor.next
!=
null
);
}
this
.next
=
function
()
{
var
rt
=
this
.cousor.next
this
.cousor
=
this
.cousor.next
return
rt.data
}
}
function
LinkedList()
{
this
.head
=
new
Entry(
null
,
null
)
this
.size
=
function
()
{
var
size
=
0
if
(
this
.head
==
null
)
{
return
size
}
var
p
=
this
.head.next
for
(; p
!=
null
; p
=
p.next)
size
++
;
return
size;
}
this
.clear
=
function
()
{
this
.head
=
null
}
this
.getNode
=
function
(idx)
{
var
pos
=
-
1
;
var
p
=
this
.head
while
(p
!=
null
&&
pos
<
idx)
{
p
=
p.next;
pos
++
;
}
return
p;
}
this
.get
=
function
(idx)
{
return
this
.getNode(idx).data
}
this
.add
=
function
(data)
{
this
.insert(
this
.size(), data)
}
this
.insert
=
function
(idx, data)
{
var
p
=
this
.getNode(idx
-
1
);
/**/
/*
注意查询idx-1
*/
if
(p
==
null
)
{
return
}
var
node
=
new
Entry(p.next, data)
p.next
=
node
}
this
.remove
=
function
(idx)
{
var
prenode
=
this
.getNode(idx
-
1
)
var
node
=
this
.getNode(idx)
if
(prenode
==
null
||
node
==
null
)
{
return
null
}
prenode.next
=
node.next
return
node.data
}
this
.iterator
=
function
()
{
return
new
Iterator(
this
.head)
}
this
.swap
=
function
(a, b)
{
var
av
=
this
.getNode(a)
var
bv
=
this
.getNode(b)
var
tmp
=
av.data
av.data
=
bv.data
bv.data
=
tmp
}
}
查看全文
相关阅读:
蓝桥杯 十六进制转八进制
蓝桥杯 字母图形
2017.12.13T19_B2_5mianshiti
2017.11.21T19_B2_6.2讲义
2017.12.13T19_B2_6zuoye
2017.12.1T19_B2_5zuoye
2017.12.1T19_B2_4zuoye
2017.12.1T19_B2_4——2
2017.12.1T19_B2_4.3kehouzuoye
2017.12.1T19_B2_4.2
原文地址:https://www.cnblogs.com/jacktu/p/1011505.html
最新文章
记录一个代理类分析工具saveGeneratedFiles
python笔试题
c笔试题
Python语言控制运算的优先级
程序变量的命名规则
分页SQL
DOS命令
编程常用英语词汇汇总
MyBatis 动态SQL
MyBatis 中#和$符号的区别
热门文章
java 反射机制
ubantu18.04的Anaconda, tensorflow安装
C语言 字符串中数字的运算
蓝桥杯 Beaver's Calculator
蓝桥杯 递归求二项式系数值
蓝桥杯 公约数公倍数
校园翼迅使用无线步骤
蓝桥杯 01串
蓝桥杯 十进制转十六进制
蓝桥杯 十六进制转十进制
Copyright © 2011-2022 走看看