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
}
}
查看全文
相关阅读:
GitHub 更新fork的代码
robotframework出现错误:Keyword 'AppiumLibrary.Open Application' expected 1 to 2 non-keyword arguments,got 5.
adb命令积累
appium测试android环境搭建(win7)
小明的自留地
转载:appium踩过的坑
junit3和junit4的使用区别如下
Python线程指南
实现ie低版本支持input type="number"
LODOP打印开发
原文地址:https://www.cnblogs.com/jacktu/p/1011505.html
最新文章
Windows下Mongodb安装及配置(转载)
Redis 密码设置和查看密码
mybatis 单表的增删改查
mybatis 起别名
mybatis 基础教程
mysql常用总结
mysql group by 详解
公钥和私钥的简单通俗说明
Windows下Git服务端和客户端的搭建
网络相关一些笔记
热门文章
SVN global ignore pattern
EF学习之CodeFirst(二)--数据迁移
EF学习之CodeFirst(一)--创建Model
Excel操作之级联菜单
外部读取Excel的两种方法
随手记C#资料
导出Excel之Epplus使用教程2(样式设置)
导出Excel之Epplus使用教程3(图表设置)
性能测试——流量测试
eclipse-jee-luna安装ADT-23.0.6出现的问题,以及解决办法
Copyright © 2011-2022 走看看