顺序队列定义
typedef datatype int;
struct sequence{
datatype data[maxsize];
int front,rear; //front指向队头前一个元素的位置,rear指向队尾位置
};struct sequence *sq; //sq是顺序队列的指针
顺序队列应用:杨辉三角算法
核心代码:
for(i=0;i<n-1;i++){
do{
s=DequenceQ(Q);
e=FrontQ(Q);
printf("%d",*e);
EnquenceQ(Q,*s+*e);
}
while(e!=0);
sq->rear=(sq->rear+1)%maxsize;
sq->data[sq->rear]=0;
}
1、利用一个顺序循环队列,首尾相接,牺牲一个存储单元,sq->data[0]接在sq->data[maxsize]之后
2、用模计算 即为:sq->rear=(sq->rear±1)%maxsize
链队列
定义:队列的链式存储结构。限制在表头删除,表尾插入的单链表。解决了假溢出的问题。
#include <stdio.h>
#