数据结构:第三章总结

来源:互联网 发布:华为光伏数据采集器 编辑:程序博客网 时间:2024/05/22 05:27
          

        在第三章中我们学习了栈和队列。

        栈是仅限制在表的一端进行插入和删除运算的线性表,称插入、删除这一端为栈顶,另一端称为栈底。基本运算有六种:构造空栈:判栈空、判栈满、进栈、退栈、取栈顶元素。在顺序栈中有“上溢”和“下溢”的现象。“上溢”是栈顶指针指出栈的外面是出错状态。“下溢”可以表示栈为空栈,因此用来作为控制转移的条件。    

        栈有顺序栈和链栈两种存储结构。 顺序栈中的基本操作有六种:构造空栈、判栈空、判栈满、进栈、退栈、取栈顶元素 。链栈中的基本操作有五种:构造空栈、判栈空、进栈 、退栈 、取栈顶元素 。 

        队列是一种运算受限的线性表,插入在表的一端进行,而删除在表的另一端进行,允许删除的一端称为队头,允许插入的一端称为队尾,队列的操作原则是先进先出的。

         队列也有顺序存储和链式存储两种存储结构。 队列的基本运算有六种:置空队、判队空、判队满、入队、出队、取队头元素。 顺序队列的“假上溢”现象:由于头尾指针不断前移,超出向量空间。这时整个向量空间及队列是空的却产生了“上 溢”现象。为了克服“假上溢”现象引入循环向量的概念,是把向量空间形成一个头尾相接的环形,这时队列称循环队列。

        判定循环队列是空还是满,方法有三种:一种是另设一个布尔变量来判断; 第二种是少用一个元素空间,入队时先测试((rear+1%m = front)? 满:空:第三种就是用一个计数器记录队列中的元素的总数。  

 

0 0
原创粉丝点击