%E6%A0%88%E3%80%81%E9%98%9F%E5%88%97%E5%92%8C%E6%95%B0%E7%BB%84 - suzhouzc/Data-Structure GitHub Wiki
-
n个元素这样的序列入栈,则出栈序列数共有
-
顺序栈的实现
#define MaxSize 10 typedef struct{ElemType data[MaxSize]; //静态数组存放栈中元素 int top; //栈顶指针}SqStack;
*顺序队列类型SqQueue
#define MaxSize 10 typedef struct{ ElemType data [MaxSize]; int front,rear; }SqQueue;
*循环队列逻辑上的环://入队:Q.rear=((Q.rear+1)%MaxSize);可实现循环队列的算法 //出队:Q.front=(Q.front+1)%MaxSize;
判断队列是否满:1、在入队时少用一个数据元素,用队尾指针加1等于对头指针判断队满(1)队满:(Q。rear+1)%MaxSize==Q.front (2)队空:Q.rear==Q.front
队列中的元素个数:(rear+MaxSize-front)%MaxSize
2、 3、
*链式队列
typedef struct LinkNode{ //链式队列结点 ElemType data; struct LinkNode *next; }LinkNode; typedef struct{ //链式队列 LinkNode *front,*rear; //队列的队头和队尾指针 }LinkQueue;
栈在中缀转换成后缀的方法:
二维数组的存储的结构: