数据结构62-双向链表get方法实现代码
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta http-equiv="X-UA-Compatible" content="IE=edge" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>双向链表</title> </head> <body> <script> function DoubleList() { this.head = null; this.tail = null; this.length = 0; function Node(data) { this.data = data; this.prev = null; this.next = null; } DoubleList.prototype.append = function (data) { var newNode = new Node(data); if (this.length == 0) { this.head = newNode; } else { var current = this.head; while (current.next) { current = current.next; } current.next = newNode; } this.length += 1; }; DoubleList.prototype.backwardString = function (data) { //定义变量 var current = this.head; var resultString = ""; while (current) { resultString += current.data + " "; current = current.next; } return resultString; }; DoubleList.prototype.forwardString = function (data) { //定义变量 var current = this.tail; var resultString = ""; while (current) { resultString += current.data + " "; current = current.prev; } return resultString; }; DoubleList.prototype.toString = function (data) { //定义变量 return this.backwardString(); }; DoubleList.prototype.insert = function (position, data) { if (position < 0 || position > this.length) return false; var newNode = new Node(data); if (this.length == 0) { this.head = newNode; this.tail = newNode; } else { if (position == 0) { this.head.prev = newNode; newNode.next = this.head; this.head = newNode; } else if(position==this.length) { newNode.prev=this.tail this.tail.next=newNode this.tail=newNode }else{ var current=this.head var index=0 while(index++<position){ current=current.next } newNode.next=current newNode.prev=current.prev current.prev.next=newNode current.prev=newNode } } this.length+=1 return true }; DoubleList.prototype.get = function (position, data) { if (position < 0 || position > this.length) return null; //获取元素 var current=this.head var index=0 while(index++<position){ current=current.next } return current.data } } </script> </body> </html>
分类:
前端-数据结构学习
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!