数据结构:栈、队列
一、栈和队列与链表的区别
1.链表可以在任意位置插入和删除元素
2.栈和队列只允许在指定位置插入和删除元素
3.栈只允许在栈顶位置入栈和出栈元素
3.相同点:表、栈、队列都是一种线性结构(一对一)
4.栈和队列是一种特殊的表状结构
二、栈
(一)概念
1.先进后出,后进先出
2.栈顶:允许入栈和出栈的一端
3.栈底:不允许出栈和入栈的一端
4.入栈(压栈):将元素放入栈顶位置
5.出栈(弹栈):将栈顶元素去除
6.栈针:记录栈顶位置的标记
(二)分类
1.顺序栈
1.1增栈:从(栈底)低地址向高地址存
1.2减栈:从(栈底)高地址向低地址存
1.3空栈:栈针指向要入栈的位置
1.4满栈:栈针指向栈顶元素位置
1.5常见的顺序栈:空增栈、空减栈、满增栈、满减栈
2.顺序栈的实现
3.链式栈
三、队列
(一)概念
1.先进先出,后进后出
2.队头:出队的一端
3.队尾:入队的一端
4.入队:将元素放入队列末尾
5.出队:将元素从队头中取出
(二)分类
1.循环队列
2.链式队列