- 4
- 0
- 约 35页
- 2017-03-03 发布于湖北
- 举报
栈和队列是两种特殊的线性表,是操作受限的线性表,称为限定性数据结构。 3.1 栈(stack) 一、栈的定义和特点 定义:栈(Stack)是限制在表的一端进行插入和删除运算的线性表,通常称插入、删除的这一端为栈顶(Top),另一端为栈底(Bottom)。当表中没有元素时称为空栈。 假设栈S=(a1,a2,a3,…,an),则a1称为栈底元素,an为栈顶元素。栈中元素按 a1,a2,a3,…an的次序进栈,退栈的第一个元素应为栈顶元素。换句话说,栈的修改是按后进先出的原则进行的。因此,栈称为后进先出表(LIFO)。 特点:先进后出(FILO)或后进先出(LIFO)。 三、栈的存储结构 1、顺序栈 ①实现:一维数组s[M] ②实现 3.4 队列(Queue) 一、队列的定义及特点 定义:队列是限定只能在表的一端进行插入,在表的另一端进行删除的线性表 队尾(rear)——允许插入的一端 队头(front)——允许删除的一端 三、队列的存储结构 1、链队列 链队列需要队头和队尾两个指针来确定;给链队列添加个头结点,并令头指针指向头结点。 结点定义 入队算法 Int InQueue(LinkQueue *Q,elemtype e) {QNodePtr P; p=(QNodePtr)malloc(sizeof(Qsnode)); if(p= =NULL) r
原创力文档

文档评论(0)