栈和队列都是一种运算受限制的线性表。栈,先进后出。队列,先进先出。其存储和基本操作与线性表类似。
(一)栈
(1)顺序栈
#define MAXSIZE 100 typedef int DataType; typedef struct { DataType data[MAXSIZE]; int top; }seqstack;
(2)链栈
typedef int DataType; typedef struct Node { DataType data; struct Node *next; }StackNode,*Linkstack; Linkstack top;
(二)队列
(1)顺序队
typedef int DataType; #define MAXSIZE 100 typedef struct { DataType data[MAXSIZE]; int rear,front; int num; }SeQueue;
(2)链队
typedef int DataType; typedef struct Node { DataType data; struct Node *next; }QNode; typedef struct { QNode *front,*rear; }LQueue; LQueue *q;