c++实现顺序循环队列结构,简易队列
2017-05-16 00:00
831 查看
实验项目4:队列的入队与出队。
1、实验目的
(1)了解普通顺序队的基本运算。
(2)掌握循环队列的入队及出队算法。
2、实验内容
利用循环队列的内容,实现队列的EnQueue与DeQueue算法。
1、实验目的
(1)了解普通顺序队的基本运算。
(2)掌握循环队列的入队及出队算法。
2、实验内容
利用循环队列的内容,实现队列的EnQueue与DeQueue算法。
#include <iostream> using namespace std; #define MAX_SIZE 100 typedef int QElemType; typedef int Status; typedef struct { QElemType *base; int front; int rear; }SqQueue; /** * Initialization of queues */ Status InitQueue(SqQueue &Q){ Q.base = new QElemType[MAX_SIZE]; if(!Q.base){ cout<<"分配数组失败"; return -1; } Q.front = Q.rear = 0; return 1; } /** * Enter queues */ Status EnQueue(SqQueue &Q,QElemType e){ if((Q.rear+1)%MAX_SIZE==Q.front){cout<<"queue full!"<<endl;return -1;} Q.base[Q.rear] = e; Q.rear = (Q.rear+1)%MAX_SIZE; return 1; } /** * return queues length */ int QueueLnegth(SqQueue Q){ return (Q.rear-Q.front+MAX_SIZE)%MAX_SIZE; } /** * Quit queues */ Status DeQueue(SqQueue &Q,QElemType &e){ if((Q.front==Q.rear)){return -1;} e = Q.base[Q.front]; Q.front = (Q.front+1)%MAX_SIZE; return 1; } void displayQueue(SqQueue &Q){ for(int i=Q.front;i<Q.rear-Q.front;i++){ cout<<Q.base[i]<<endl; } } int main() { SqQueue Q1; InitQueue(Q1); int a; for(int i=0;i<10;i++) EnQueue(Q1,i+1); DeQueue(Q1,a); displayQueue(Q1); return 0; }
相关文章推荐
- 数据结构之循环队列(顺序表存储)——C++模板类实现
- C++数据结构之实现循环顺序队列
- 线性结构--->循环队列的顺序储存实现
- c/c++实现顺序循环队列和链式队列
- 数据结构之C/C++实现循环队列
- 数据结构中队列的实现(基于顺序表循环队列)
- 数据结构基础——循环队列的C++实现
- 看数据结构写代码(16)顺序队列的实现(循环队列)
- 循环顺序队列c++实现
- (学习java)顺序循环队列的简易实现
- 软件设计师教程 数据结构之循环队列的实现 (C/C++语言)
- 数据结构(5):循环队列——队列的顺序表示和实现
- 循环顺序队列介绍及其C++实现
- PHP实现循环队列(顺序结构)
- 顺序循环队列C++实现2倍扩容版本
- 数据结构(C实现)------- 顺序队列(循环队列之少用一个存储空间实现) .
- 数据结构之循环队列(面向对象思想c++实现)
- c++实现数据结构七 顺序循环队列
- C++实现循环队列之顺序存储
- 程序员面试宝典之数据结构基础----C++两个栈实现一个队列功能