顺序队列及其操作
2013-04-20 20:30
357 查看
问题:今天累了,没心情写,但我知道路漫漫,还是要坚持,要进步。顺序队列比较简单,明白原理就行。
注:判断队列为空的条件:squeue->front==squeue->rear;
代码:
运行结果:
注:判断队列为空的条件:squeue->front==squeue->rear;
代码:
#include <iostream> #include <cstdlib> using namespace std; #define MAXSIZE 20 typedef 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"<<endl; exit(-1); } else { squeue->front=squeue->rear=0; } } void enQueue(SeqQueue squeue,int elem) { if(squeue->rear==MAXSIZE) { cout<<"队列已满"<<endl; exit(0); } else { squeue->data[squeue->rear]=elem; squeue->rear++; } } int deQueue(SeqQueue squeue) { int elem; if(squeue->front==squeue->rear) { cout<<"队列已空"<<endl; exit(0); } elem=squeue->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<<"入队:"<<endl; for(int i=0;i<8;i++) { enQueue(squeue,arr[i]); } cout<<"依次出队:"<<endl; while(squeue->front!=squeue->rear) { cout<<deQueue(squeue)<<" "; } cout<<endl; return 0; }
运行结果:
相关文章推荐
- 实验3:栈和队列的基本操作实现及其应用——顺序队列和链队列
- 链表,顺序表的基本操作及其实现的栈与队列
- 实验三:栈和队列的基本操作实现及其应用——顺序栈
- 队列的顺序存储及其基本操作
- 队列的顺序存储及其基本操作
- 《数据结构》严蔚敏版(java解)——第三章 栈和队列03 顺序队列操作
- 数据结构专题——栈与队列之顺序栈及其Java实现
- 实验4:栈和队列的基本操作实现及其应用之《链队列》
- 循环队列的相关操作(顺序结构)
- 队列的定义及其基本操作
- 顺序表的查找、插入、删除、合并操作及其优缺点
- 队列的定义与操作(顺序存储)
- 数据结构之顺序队列的操作(C语言)
- 实验4:栈和队列的基本操作实现及其应用之《顺序栈》
- 实验4:栈和队列的基本操作实现及其应用——链栈
- 顺序队列的基本操作实现c++
- 顺序队列(非循环)的基本操作
- 顺序队列基本操作
- 实验三 栈和队列的基本操作实现及其应用
- 顺序队列的算法操作