列表是一组有序的数据。 列表拥有描述元素位置的属性。
列表是一种最自然的数据组织方式。上一章已经介绍如何使用 List 类将数据组织成一个列 表。如果数据存储的顺序不重要,也不必对数据进行查找,那么列表就是一种再好不过的 数据结构。
栈是一种特殊的列表,栈内的元素只能通过列表的一端访问,这一端称为栈顶,先进后出。
栈的应用: 数制间的相互转换 回文
- 栈可以用来判断一个算术表达式中的括号是否匹配。编写一个函数,该函数接受一个算 术表达式作为参数,返回括号缺失的位置。下面是一个括号不匹配的算术表达式的例 子:2.3 + 23 / 12 + (3.14159×0.24。
- 一个算术表达式的后缀表达式形式如下: op1 op2 operator 使用两个栈,一个用来存储操作数,另外一个用来存储操作符,设计并实现一个 JavaScript 函 数,该函数可以将中缀表达式转换为后缀表达式,然后利用栈对该表达式求值。
- 现实生活中栈的一个例子是佩兹糖果盒。想象一下你有一盒佩兹糖果,里面塞满了红 色、黄色和白色的糖果,但是你不喜欢黄色的糖果。使用栈(有可能用到多个栈)写一 段程序,在不改变盒内其他糖果叠放顺序的基础上,将黄色糖果移出。
队列是一种先进先出。 跳舞男女配对