js数组实现队列和栈
来源:互联网 发布:php curl 存储cookie 编辑:程序博客网 时间:2024/06/05 08:40
1.Array栈方法
栈是一种LIFO(Last-In-First-Out,后进先出)的数据结构,也就是最新添加的项最早被移除。栈中项的插入(push)和移除,只发生在一个位置——栈的顶部。ECMAScript为数组提供了push()和pop()方法,可以实现类似栈的行为。下面两图分别演示了入栈与出栈操作。
push()方法可以接收任意数据的参数,把它们逐个添加到数组末尾,并返回修改后的数组长度。pop()方法从数组末尾移除最后一项,减少数组的length值
eg:
var students = [];students.push("tom","leo","david","jack");//入栈4项console.log(students.length); //4console.log(students[0]); //"tom",第一项在栈的底部console.log(students[1]); //"leo"students.push("jerry");console.log(students.length); //5var item = students.pop(); //"jerry"console.log(students.length); //4
2.Array队列方法
栈数据结构的访问规则是LIFO(后进先出),而队列数据结构的访问规则是FIFO(First-In-First-Out,先进先出)。队列在列表的末端添加项,从列表的前端移除项。push()方法是向数组末端添加项的方法,因此要模拟队列只需一个从数组前端取得项的方法——shift(),其能够移除数组中的第一个项并返回该项,同时数组的length-1。结合使用shift()和push()方法,可以像使用队列一样使用数组。
方法一:
var students = [];students.push("tom","leo","david","jack");//入队4项console.log(students);//"tom","leo","david","jack"console.log(students.length); //4console.log(students[0]); //"tom",第一项在栈的底部console.log(students[1]); //"leo"students.push("jerry");console.log(students.length); //5//students=["tom","leo","david","jack","jerry"];var item = students.shift(); //"tom"console.log(students.length); //4//students=["leo","david","jack","jerry"];
方法二:
unshift()方法,它能在数组前端添加任意个项并返回新数组的长度。因此,结合使用unshift()和pop()方法,可以从相反的方向来模拟队列,即在数组的前端添加项,从数组末端移除项
var a=new Array();a.unshift(1);a.unshift(2);console.log("先进先出")a.pop()
阅读全文
0 0
- js数组实现队列和栈
- js数组实现队列和栈
- JS数组实现队列和堆栈
- js数组栈和队列的方法
- JS数组栈和队列操作
- JS数组栈方法和队列方法
- 栈和队列的底层数组实现
- js中数组的栈方法和队列方法
- 【栈和队列】一个数组实现两个栈
- 使用数组实现栈和循环队列(JAVA语言)
- 魔王语言解释(数组实现栈和队列)
- 基础知识--数组、栈、队列的静态、动态和链式实现
- (第4讲)栈和队列的数组实现
- PHP数组实现栈和队列:push,pop,shif,unshift
- 简单队列和循环队列的实现--数组实现
- JS的基本数据结构实现---栈和队列
- 用数组实现堆栈和队列
- 用数组实现堆栈和队列
- 关于prepareStatement可以防止SQL注入的理解
- 华为Eudemon1000防火墙-详细配置
- 配置监听(系统启动和关闭时运行的程序)
- JS 页面加载触发事件 document.ready和window.onload的区别
- 习题7.6
- js数组实现队列和栈
- hokuyo_node代码分析
- Promise异步编程
- Android截屏的几种实现
- window上gcc安装
- 一个例子
- XSS的原理
- Linux环境部署轻量化配置中心
- 台大李宏毅2017机器学习国语课程(更新)