问题:今天累了,没心情写,但我知道路漫漫,还是要坚持,要进步。顺序队列比较简单,明白原理就行。
注:判断队列为空的条件:squeue->front==squeue->rear;
代码:
#include#include using namespace std;#define MAXSIZE 20typedef struct SQueue{ int data[MAXSIZE]; int front; int rear;}*SeqQueue;void initSeqQueue(SeqQueue &squeue) //初始化队列{ squeue=(SeqQueue)malloc(sizeof(struct SQueue)); if(!squeue) { cout<<"allocate fail"< front=squeue->rear=0; }}void enQueue(SeqQueue squeue,int elem){ if(squeue->rear==MAXSIZE) { cout<<"队列已满"< data[squeue->rear]=elem; squeue->rear++; }}int deQueue(SeqQueue squeue){ int elem; if(squeue->front==squeue->rear) { cout<<"队列已空"< data[squeue->front]; squeue->front++; return elem;}int main(){ SeqQueue squeue; int arr[8]={1,23,42,3,6,5,7,9}; initSeqQueue(squeue); cout<<"入队:"< front!=squeue->rear) { cout< <<" "; } cout<
运行结果: