<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
</head>
<body>
<script>
function CNode(index,value)
{
this.index=index;
this.value=value;
}
function Linklist()
{
this.list=new Array();
}
Linklist.prototype={
//查询连接表当前的规模
getSize:function(){
return this.list.length;
},
//判断是否为空
isEmpty:function(){
return this.list.length==0;
},
//返回第一个节点
first:function(){
return this.list[0];
},
//返回最后一个节点
last:function(){
return this.list[this.list.length-1];
},
//返回P之前的节点
getPre:function(p){
if(this.list.length==0 || this.list.length==1)
return null;
for(var i=0;i<this.list.length;i++)
{
if(this.list[i].value==p.value && i==p.index)
{
alert(this.list[i-1].index);
return this.list[i-1];
}
}
},
//将e作为第一个元素插入连接表,并返回e所在的节点
insertLast:function(e){
this.list.push(e);
},
//将e插入到p之后并返回e所在的节点
insertAfter:function(p,e){
if(p.index==this.list.length-1)
this.list.push(e);
else{
var index=p.index;
for(var i=this.list.length;i>index;i--)
{
this.list[i]=this.list[i-1];
this.list[i].index=i;
}
this.list[index]=e;
this.list[index].index=index;
}
},
init_list:function(){
for(var i=0;i<this.list.length;i++){
this.list[i].index=i;
}
}
}
var link_list=new Linklist();
var node_1=new CNode(null,"DIS");
var node_2=new CNode(null,"BOMC");
link_list.insertLast(node_1);
link_list.insertLast(node_2);
link_list.init_list();
console.log(link_list.list);
var node_3=new CNode(0,"MC");
link_list.insertAfter(node_1,node_3);
console.log(link_list.list);
</script>
</body>
</html>