一、栈
1.概念
栈:一种特殊的线性表,只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端
称为栈顶,另一端称为栈底。栈中的数据元素遵守后进先出LIFO(Last In First Out)的原则。
压栈:栈的插入操作叫做进栈/压栈/入栈,入数据在栈顶。
出栈:栈的删除操作叫做出栈。出数据也在栈顶。
2.模拟实现
点击 栈 跳转码云获取完整代码。
二、队列
1.概念
队列:只允许在一端进行插入数据操作,在另一端进行删除数据操作的特殊线性表,队列具有先进先出
FIFO(First In First Out)
入队列:进行插入操作的一端称为队尾
出队列:进行删除操作的一端称为队头
2.模拟实现
点击队列 跳转码云获取完整代码。
3.循环队列
1、队空:q.front == q.rear
2、队满:(q.rear + 1)% N = q.front
3、队长:(q.rear - q.front + N) % N
4、循环:
q.front = (q.front + 1) % N
q.rear=(q.rear + 1) % N