顺序队列的算法操作
#include<iostream>//順序隊(duì)列
#define maxSize 100using namespace std;typedef struct
{int data[maxSize];int front;int rear;
}SqQueue; void initQueue(SqQueue &qu)
{qu.front=qu.rear=0;
}int QueueEmpty(SqQueue qu)
{if(qu.front==qu.rear)return 1;elsereturn 0;return 2;
}//進(jìn)隊(duì)rear向后移動(dòng),出隊(duì)front向后移動(dòng)
int enQueue(SqQueue &qu,int x)
{if((qu.rear+1)%maxSize==qu.front)//順序隊(duì)列隊(duì)滿的條件return 0;qu.rear=(qu.rear+1)%maxSize;//隊(duì)尾指針rear后移x=qu.data[qu.rear];return 1;
}int deQueue(SqQueue &qu,int &x)
{if(qu.front==qu.rear)return 0;qu.front=(qu.front+1)%maxSize;//front后移x=qu.data[qu.front];return 1;}int main()
{SqQueue Queue1;//Queue1相當(dāng)于數(shù)組名initQueue(Queue1);QueueEmpty(Queue1);int a=5;enQueue(Queue1,a);int b=0;deQueue(Queue1,b); return 0;}
總結(jié)
- 上一篇: 链式栈的初始化,判空,进栈,出栈,求长,
- 下一篇: 链队列的算法操作