分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 软件开发

js模拟链表

发布时间:2023-09-06 02:00责任编辑:白小东关键词:js

链表: 每个元素,都有一个指针,指向下一个元素

//链表var head = null;length = 0;class linkedList{constructor(){}append(ele){var cnode = {ele:ele,next:null};if(head === null){head = cnode;}else{//追加到节点var current = head;while(current.next){current = current.next;}current.next = cnode;}length++;}removeAt(pos){//删除第几个元素//检查越界if(pos > -1 && pos < length){var current = head,previous,index = 0;//移除第一项if(pos == 0){head = current.next;}else{while(index++ < pos){previous = current;current = current.next;}//前面的next,指向当前项的next,即干掉当前项previous.next = current.next;}length--;return current.ele;}else{return null;}}insert(pos,ele){if(pos >= 0 && pos <= length){var nodes = {ele:ele,next:null};var current = head,previous,index = 0;if(pos == 0){//第一项插入nodes.next = current;head = nodes;}else{while(index++ < pos){previous = current;current = current.next;}nodes.next ?= current;previous.next = nodes;}length++;return true;}else{return false;}}indexOf(ele){var current = head;var index = -1;while(current){if(current.ele === ?ele){return index;}index++;current = current.next;}return index;}remove(ele){var index = this.indexOf(ele);return this.removeAt(index);}toString(){var current = head;var str = ‘‘;var index = 0;while(current){str = str + current.ele+"-" ?+ index + "\n"; ??index++;current = current.next;}console.log(str);}size(){return length;}isEmpty(){return !length;}getHead(){return head;}}var list = new linkedList();list.append("a");list.append("b");list.append("c");list.insert(2,"bgb");list.append("d");list.toString();

  

js模拟链表

原文地址:https://www.cnblogs.com/muamaker/p/9197901.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved