一步一步复习数据结构和算法基础-栈和队列(1)

来源:互联网 发布:答题卡阅卷软件 编辑:程序博客网 时间:2024/05/22 10:25

  栈和队列也是重要的数据结构.从数据结构角度来说,栈和队列也是线性表.但是栈和队列的基本操作是

线性表的操作子集.可以称之为限定性的数据结构.但是在数据类型上它们和线性表大不相同.

  我想还是先学学栈和队列的基本操作吧.

   栈:

      栈的结构: 栈顶 栈底

      对于n个元素,第一个入栈的称之为栈底,最后一个入栈的称之为栈顶.

      栈的进出原则是后进先出或者是先进后出. 即 LIFO  或者  FILO.

     栈的声明:

    

typedef struct {  SElemtype *base;  //栈构造之前和销毁之后,base 的值均为 NULL  SElemtype *top;  //栈顶指针  int stacksize;  //栈的容量}SqStack;


 

  队列:

     队列和栈有些类似,但是队列是 先进先出的,而且队列是在一端进行插入(队尾),在另一端进行删除(队首).

  队列的声明:

typedef struct QNode{QElemtype data;//队列数据类型struct QNode *next;}QNode,*QueuePtr;typedef struct{QueuePtr front;//队头指针QueuePtr rear;//队尾指针}LinkQueue;


 

 

  这些知识栈和队列的皮毛,算法的实现还要研究一下.