顺序队列的创建、入队、出队
2014-05-26 13:17
211 查看
队列的存储结构为顺序存储为顺序队列。其和顺序栈其实是类似的。队列为“先入先出”,栈为“先入后出”。 顺序栈建立时,需要一个栈顶指针,同样的队列的建立也创建一个队首指针front和一个队尾指针rear。初始化时,front=rear=-1。
代码如下:
运行结果:
代码如下:
// SeqQueue.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h" #include<iostream> using namespace std; typedef char type; #define MaxSize 100 //顺序队列结点 typedef struct queue { type data[MaxSize]; int front; //队首指针 int rear; //队尾指针 }Queue,*SeqQueue; //初始化队列 void InitQueue(SeqQueue q) { q->front=-1; q->rear=-1; } //入队操作 bool EnterQueue(SeqQueue q,type data) { //判断队列是否满 if(MaxSize-1==q->rear) { cout<<"队列已满!"<<endl; return false; } q->data[++q->rear]=data; return true; } //出队操作 返回出队元素 type OutQueue(SeqQueue q) { //判断队列是否为空 if(q->rear==q->front) { cout<<"队列为空!"<<endl; exit(-1); } type temp=q->data[q->front+1]; q->front++; return temp; } //打印队列 void PrintQueue(SeqQueue q) { if(q->rear==q->front) { exit(-1); } for(int i=q->front+1;i<=q->rear;i++) { cout<<q->data[i]<<" "; } cout<<endl; } int _tmain(int argc, _TCHAR* argv[]) { type a[5]={'a','b','c','e','f'}; Queue q; InitQueue(&q); for(int i=0;i<5;i++) //入队操作 EnterQueue(&q,a[i]); PrintQueue(&q); //出队操作 cout<<OutQueue(&q)<<endl; PrintQueue(&q); return 0; }
运行结果:
相关文章推荐
- 顺序队列的创建、初始化、判断空、入队、出队、读取队头元素、置空、求队长操作
- 队列的创建,入队,出队,遍历
- 数据结构 c语言实现顺序队列(输数字入队,字符出队)
- 队列的创建 入队出队 Java数据结构与算法
- 顺序循环队列基本操作(入队,出队,清空,销毁,历遍)
- 队列的创建、入队、出队、打印、统计队列长度
- 编程实现顺序队列的入队操作和出队操作,并将出队结果输出
- C语言实现顺序队列的初始化、入队、出队等操作(三)
- 采用顺序存储实现循环队列的初始化、入队、出队操作。
- 实验C—3 顺序队列基本操作入队与出队
- 循环顺序队列(初始化、入队、出队、判空)
- 子函数实现链式队列 的 操作,创建、入队、出队、退出。
- 顺序队列的入队,出队,遍历队列计算队列的长度
- 顺序队列的入队操作
- 2个堆栈实现自定义队列的入队出队方法 - 调用者定义2个栈的容量
- 队列之出队入队
- 12编程实现队列的入队、出队、测长、打印
- 编程实现队列的入队、出队、测长、打印
- 链式队列操作,初始化,入队,出队
- 队列中入队,出队,遍历算法代码演示