线性结构
本专栏的上篇文章主要介绍了数据结构之顺序结构。基于这个数据结构的基础上衍生出一系列特殊的线性结构:队列和栈。
队列
队列,顾名思义就是类似于我们排队一样。该数据结构是基于队列和链表的基础上,对于数据的存取进行一系列的限定措施。就像我们在食堂门口排队打饭吃一样,队列的数据存取就是先进先出的限定措施。 下面是静态队列的定义方式:
#define MaxSize 50
typedef struct{
ElemType data [MaxSize] ;
int front, rear;
} SqQueue;
栈
栈,区别于队列,就是两者最大的区别就是数据的限定措施不同。栈的数据存取的限定措施是先进后出。为了更好的记忆,可以把数据当成子弹压入弹夹中,这个过程可以看做数据入栈。将弹夹装入手枪将子弹射出,这个过程可以看作为数据出栈。下面是静态栈的定义方式:
#define MaxSize 50
typedef struct{
Elemtype da七a[MaxSize];
int top;
} SqStack;