阅读 22

编程基础-数据结构

(还没写完,不小心放出来了)

数据结构是计算机存储、组织数据的方式。在编程中,更多的是指我们所使用的语言对数据的“封装方式”和“使用方式”,常见的数据结构有:栈、队列、树、链表、二叉树、图

一、栈

栈是一种后进先出的数据结构,它允许在数据表的一端插入和取出数据,这一端被称为栈顶,对应的另一端被称为栈底。当我们从栈顶先栈插入数据时,我们把这个动作叫做入栈或者进栈、压栈,从栈顶取出数据时叫做出栈或者退栈,也有描述“从栈顶弹出”的说法。

(一)、在 JavaScript 中实现“栈”数据结构

在 JavaScript 中我们可以用数组来实现一个栈的结构,下面分别从数组的首、尾模拟栈的演示;

  1. Array.unshift 和 Array.shift

Array.unshift 和 Array.shift 是用来从数组的头部操作数据的方法。

let stack = [];
let value = 1;
// 压栈,向栈顶压入数据
stack.unshift(value);
// 出栈,删除并返回栈顶数据
value = stack.shift();
复制代码
  1. Array.pop 和 Array.push

Array.unshift 和 Array.shift 是用来从数组的尾部操作数据的方法。

let stack = [];
let value = 1;
// 压栈,向栈顶压入数据
stack.push(value);
// 出栈,删除并返回栈顶数据
value = stack.pop();
复制代码

(二)、在 Java 中的“栈”数据结构

Java 中主要有两中实现了栈的数据结构,它们是 Stack 和 LinkedList,前者继承自 Vector,所有方法都是加锁的线程安全方法,相对而言,效率也低很多;后者是基于双向链表实现了 Deque 和 List 接口类,方法没有被 synchronized 修饰,性能良好,更推荐使用。

  1. LinkedList
关注下面的标签,发现更多相似文章
评论