<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>学生管理系统</title>
</head>
<body>
<div>当前链表数据</div>
<textarea id="linkslist" style="500px;height:200px;"></textarea>
<P>操作方法.把数据写入下面的TEXT 使用 按钮 add 添加 del 删除 change 修改<br>按添加前不能在输入框有字母,否则会当成姓名,删除和修改时请输入学生的学号以进行查找</P>
<input type="text" id="linkslins_test" value="" />
<input type=button value="add" style="70px; height:22px;" onClick="linksList.add(document.getElementById('linkslins_test').value);linkslist();">
<input type=button value="del" style="70px; height:22px;" onClick="linksList.del(document.getElementById('linkslins_test').value);linkslist();">
<input type=button value="change" style="70px; height:22px;" onClick="linksList.change(document.getElementById('linkslins_test').value);linkslist();"><br/><br/>
<script type="text/javascript">
var createLinkList = function(){
var _this = {}, first = null;
_this.length = 0;
_this.add = function(name=0,_class=0,num=0,age=0)
{
if(name==0)
name=prompt("请输入姓名");
if(_class==0)
_class=prompt("请输入班级");
if(num==0)
num=prompt("请输入学号");
if(age==0)
age=prompt("请输入年龄");
first = {name:name,_class:_class,num:num,age:age, next: first || null};
_this.length++;
}
// --- del
_this.del = function(num)
{
if (first.num == num)
{
first = first.next;
_this.length--;
return ;
}
var ptemp = temp = first;
for( ; temp; ptemp = temp ,temp= temp.next)
{
if(temp.num == num)
{
ptemp.next = temp.next;
_this.length--;
return ;
}
}
}
_this.change=function(num)
{
var temp=first;
for(;temp;temp=temp.next)
{
if(temp.num==num)
{
var sure=confirm("你确定要修改学号为"+temp.num+"的学生的信息");
if(sure)
{
temp.name=prompt('原姓名为"'+temp.name+'"请修改姓名');
temp._class=prompt('原班级为"'+temp._class+'"请修改班级');
temp.num=prompt('原学号为"'+temp.num+'"请修改学号');
temp.age=prompt('原年龄为"'+temp.age+'"请修改年龄');
}
return;
}
}
}
// ---------
_this.show = function(fn)
{
for(temp=first;temp;temp=temp.next)
{
fn(temp.name,temp._class,temp.num,temp.age);
}
}
return _this;
}
var linksList = createLinkList(); // 创建一个单链表实例
linksList.add("果冻",1501,201501,18); // 向链表添加一个元素
linksList.add("号",1502,201502,20);// 再次添加元素
linksList.add("天啊",1503,201503,38);
function linkslist(){
var text = "姓名--------班级--------学号---------年龄 ";
linksList.show(
function(a,b,c,d)
{
text += a+"--------"+b+"--------"+c+"--------"+d+" ";
}
);
document.getElementById('linkslist').value = text;
}
linkslist();
</script>
</body>
</html>