JavaScript封装单向链表的示例代码
使用JavaScript封装单向链表:
1.封装LinkList的类,用于表示我们的链表结构。
2.在LinkList类中有一个Node类,用于封装每一个节点上的信息(data与next)。
3.在链表中保存两个属性,一个是链表的长度,一个是链表中的第一个节点。
4.封装一些链表的常用方法:
- append(element):想列表尾部添加一个新的项;
- insert(position,element):向列表的特定位置插入一个新的项;
- get(position):获取对应位置的元素;
- indexOf(element):返回元素在链表中的索引,如果链表中没有该元素则返回-1;
- update(position,element):修改某个位置的元素;
- removeAt(postion):从列表的特定位置移除一项;
- remove(element):从列表中移除一项;
- isEmpty():如果链表中不包含任何元素,返回true,否则返回false;
- size():返回链表中包含元素的个数;
- toString():输出链表元素的值;
functionLinkList(){ /*节点类*/ functionNode(data){ this.data=data this.next=null } this.head=null this.length=0 /*追加方法*/ LinkList.prototype.append=function(data){ /*创建新节点*/ varnewNode=newNode(data) if(this.length===0){ this.head=newNode }else{ /*找到最后一个节点*/ varcurrent=this.head while(current.next){ current=current.next } current.next=newNode } this.length+=1 } /*toString方法*/ LinkList.prototype.toString=function(){ varcurrent=this.head varlistString="" while(current){ listString+=current.data+"" current=current.next } returnlistString } /*insert方法*/ LinkList.prototype.insert=function(position,data){ /*对position进行越界判断*/ if(position<0||position>this.length)returnfalse varnode=newNode(data) if(position==0){ node.next=this.head this.head=node }else{ varindex=0 varcurrent=this.head varprevious=null while(index++ =this.length)returnnull varcurrent=this.head varindex=0 while(index++ =this.length)returnfalse varcurrent=this.head varindex=0 while(index++ =this.length)returnnull varcurrent=this.head if(position===0){ this.head=this.head.next }else{ varindex=0 varprevious=null while(index++
以上就是JavaScript封装单向链表的示例代码的详细内容,更多关于JavaScript封装单向链表的资料请关注毛票票其它相关文章!
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。