四种简单的线性数据结构:
1.栈Stack
栈有栈顶(top)和栈底部(base)
特性:(1)反转次序:LIFO(后进先出),栈只会对栈顶进行操作
操作:Stack()创建
2.队列Quene 进程队列,消息队列
队列的特性:先进先出FIFO,队列仅有一个入口和一个出口,且数据不能插在队列中间也不饿能将数据从中间移除数据项。
举例:多个打印服务需要对列,键盘缓冲,进程队列
操作:入队:添加到队尾无返回值,出队:添加到队首,且将该值返回,队列是否为空,队列中数据项的个数
应用:
1.热土豆:传烫手的土豆,鼓声停的时候,手里有土豆的小孩出列
3.双端对列Dequene
首尾两端都可以添加或是删除其中的数据
4.列表List/无序表
(1)特性:一种数据按照相对位置存放的数据集,即,数据项之间只有位置之间的关系,与在该位置的内容无关
另一种实现:用链表实现无序表
链表:
基础单位:节点Node
add操作:需要将加入的节点的next指向原来表头结点,然后再将表头指向插入的节点,次序一定不要弄反,否则会造成链表数据的丢失
5.有序表
有序表:数值越小的数据项越靠前,反之越靠后
add操作需要保持有序的特性