队列的简单介绍
来源:互联网 发布:域名的价格是怎么回事 编辑:程序博客网 时间:2024/05/21 22:52
简单介绍队列的定义及各种操作:
1.队列的定义:
队列简称队,特是一种运算受限的特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,和栈一样,队列是一种操作受限制的线性表。进行插入操作的端称为队尾,进行删除操作的端称为队头。队列的数据元素又称为队列元素。在队列中插入一个队列元素称为入队,从队列中删除一个队列元素称为出队。因为队列只允许在一端插入,在另一端删除,所以只有最早进入队列的元素才能最先从队列中删除,故队列又称为先进先出(FIFO)线性表。
2.队列的基本操作:
1.初始化队列------initqueue(Q):建立一个新的空队列Q。
2.入队列------enter(Q,x):将元素x插入到队列Q中。
3.出队列------delete(Q):从队列中退出一个元素。
4.取队首元素------gethead(Q):返回当前的队首元素。
5.判断队列是否为空------empty(Q):若队列Q为空,则返回1;否则返回0。
6.显示队列中元素------display(Q):从队首到对尾顺序显示队中所有元素。
下面是用一维数组仿真队列的代码
//一维数组仿真队列#include<iostream>using namespace std;int queue[5]={0};int head=-1;int tail=-1;void addqueue(int value)//添加元素 {if(tail>=5)cout<<"The queue is full\n";else {tail++;queue[tail]=value;}} int delqueue()//删除元素 {int temp;if(head==tail)return -1;else {head++;temp=queue[head];queue[head]=0;return temp; }}void display()//显示元素 {for(int i=1;i<5;i++)if(!queue[i])cout<<queue[i]<<" ";cout<<endl;}int main(){int select,temp;while(1){cout<<"1.Input a data.\n";cout<<"2.Output a data.\n";cout<<"3.Exit.\n";cin>>select;switch(select){case 1: cout<<"Please input a value:";cin>>temp;addqueue(temp);break;case 2: if(delqueue()==-1)cout<<"The queue is empty!\n";else cout<<"The out value is:"<<temp<<endl;break;case 3: return 0;}display();} return 0;}本次只进行队列的简单介绍,进阶会写在接下来的博客里^_^!
阅读全文
1 1
- 队列的简单介绍
- 队列的简单介绍及代码实现
- IPC简单介绍(一)消息队列
- RabbitMQ消息队列(一)简单介绍
- 队列的简单操作
- 队列的简单操作
- 队列的简单实现
- 队列的简单实现
- 队列的简单封装
- 队列的简单学习
- 队列的简单实现
- 队列的简单应用
- 一个简单的队列
- 队列的简单实现
- Amazon云产品介绍(3) - 简单无脑的队列服务 - Amazon SQS
- ios-GCD的队列介绍
- 队列的简单的操作
- 关于队列的简单操作
- hdu 1018 Big Number
- 【数据结构 二】---单链表
- Linux如何找回或者重置root用户密码
- Arduino Uno LD3320语音模块应用(一)测试
- 【poj1273】Drainage Ditches 【USACO 93】
- 队列的简单介绍
- 使用JavaScript实现表单校验
- Maven笔记三-Maven使用入门
- qt学习之扩展对话框
- Math 数学类
- hdu3466(01背包排序)
- 微服务之API网关
- KMP算法详解
- Spring事务属性