栈和队列也是重要的数据结构.从数据结构角度来说,栈和队列也是线性表.但是栈和队列的基本操作是
线性表的操作子集.可以称之为限定性的数据结构.但是在数据类型上它们和线性表大不相同.
我想还是先学学栈和队列的基本操作吧.
栈:
栈的结构: 栈顶 栈底
对于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;
这些知识栈和队列的皮毛,算法的实现还要研究一下.