顺序队列之C++实现
下面介绍下用C++实现的顺序队列,在VC6下调试通过。
1、文件组织形式
2、sq.h顺序队列类的说明
#ifndef _SQ_H_
#define _SQ_H_typedef int dataType;
#define maxSize 100class sq
{
public:sq();//~sq();void push(dataType var);void pop();dataType front();bool isEmpty();bool isFull();private:dataType queue[maxSize];int head;int tail;
};#endif
3、sq.cpp顺序队列类的定义
#include <iostream>
#include "sq.h"
using namespace std;sq::sq()
{head = -1; tail = -1;
}void sq::push(dataType var)
{queue[++tail] = var;if(tail == 0) {head = 0;}
}void sq::pop()
{++head;
}dataType sq::front()
{return queue[head];
}bool sq::isEmpty()
{bool flag = head > tail; //当head和tail不为-1时if(head == -1 && tail == -1) //当head=tail=-1时{flag = true;}if(flag){head = tail = -1;}return flag;
}bool sq::isFull()
{return tail == maxSize-1;
}
4、main.cpp
#include <iostream>
#include "sq.h"
using namespace std;int main()
{sq exp;int i = 0;for(i=0;i<maxSize+10;++i){if(!exp.isFull()){exp.push(i);}}for(i=0;i<maxSize+20;++i){if(!exp.isEmpty()){cout<<exp.front()<<endl;exp.pop();}}if(exp.isEmpty()){cout<<"队列已空!"<<endl;}return 0;
}
转载于:https://www.cnblogs.com/james1207/p/3294033.html
顺序队列之C++实现相关推荐
- 数据结构与算法(3-2)队列(顺序队列、循环队列与链队列)
目录 一.顺序队列 1.存储结构 2.入队和出队 总代码 二.循环队列 总代码: 三.链队列 1.存储结构 2.入队和出队 总代码 一.顺序队列 队列特征:先进后出.后进后出. 1.存储结构 //队列 ...
- 【数据结构】顺序队列的实现(C语言)
队列的基本概念及其描述 队列是一种特殊的线性表,它的特殊性在于队列的插入和删除操作分别在表的两端进行. 插入的那一端称为队尾,删除的那一端称为队首.队列的插入操作和删除操作分别称为进队和出队. 先进先 ...
- 队列学习笔记 顺序队列
//顺序队列操作 #define QUEUEMAX 15 typedef struct {DATA data[QUEUEMAX]; // 队列数组 int head; //队头 int tail; / ...
- 顺序队列相关操作(C语言实现)
#顺序队列相关操作(C语言实现) #include<stdio.h> #define Size 100 typedef int DataType; typedef struct {Data ...
- c语言建立队列(顺序队列、循化队列和链式队列)
c语言建立队列 一.顺序队列 队列的顺序存储结构 顺序队列的讨论 "下溢"现象 "真上溢"现象 "假上溢"现象 二.如何解决"假上 ...
- c语言队列(顺序队列,循环队列,链式队列)
顺序队列 1.初始化: front=-1; rear=-1; 2.判空条件 font=rear; 3.队列已满条件 rear=max-1; 代码: #include<stdio.h> #i ...
- 数据结构(二):线性表包括顺序存储结构(顺序表、顺序队列和顺序栈)和链式存储结构(链表、链队列和链栈)...
还记得数据结构这个经典的分类图吧: 今天主要关注一下线性表. 什么是线性表 线性表的划分是从数据的逻辑结构上进行的.线性指的是在数据的逻辑结构上是线性的.即在数据元素的非空有限集中 (1) 存在唯一的 ...
- 【数据结构】队列-顺序队列、循环队列、链队、双端队列
定义 队列是只允许在一端进行插入,而在另一端进行删除的线性表. 队头(Front):允许删除的一端,又称为队首. 队尾(Rear): 允许插入的一端. 先进入队列的元素必然先离开队列,即先进先出(Fi ...
- 数据结构-队列之顺序队列
队列是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,和栈一样,队列是一种操作受限制的线性表.进行插入操作的端称为队尾,进行删除操作的 ...
最新文章
- vue中进行判断不同字段的判断,主要是区分于微信小程序和网页版之间写法
- 算法工程师如何改进豆瓣电影
- 一起学设计模式-策略模式
- 攻防世界-web-i-got-id-200-从0到1的解题历程writeup
- 查看程序占用内存_电脑扩展了内存 但还总是提示内存不足?
- java学习笔记之数组
- 绘图解谜:公钥、私钥、证书
- Number.parseInt(), Number.parseFloat()
- VC----SDK下对窗口非客户区的操作
- 牛客网模拟笔试——庆祝61(JavaScript)
- HTML5 input新增属性
- #pragma comment使用
- 乔布斯传记概览:乔布斯18个让人着迷的地方
- linux虚拟机界面菜单栏和任务栏不见了,已解决
- 模块学习3:PTC052A-200串口摄像头拍照等功能编写
- 尚硅谷java学习笔记第五天(数组上)
- 华为高姐寄来的新年礼物
- java计算机毕业设计二手车商城源码+mysql数据库+系统+lw文档+部署
- 使用 docker 对容器资源进行限制
- 控制台报400、500内部服务器错误是什么原因?怎么解决?