下面介绍下用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++实现相关推荐

  1. 数据结构与算法(3-2)队列(顺序队列、循环队列与链队列)

    目录 一.顺序队列 1.存储结构 2.入队和出队 总代码 二.循环队列 总代码: 三.链队列 1.存储结构 2.入队和出队 总代码 一.顺序队列 队列特征:先进后出.后进后出. 1.存储结构 //队列 ...

  2. 【数据结构】顺序队列的实现(C语言)

    队列的基本概念及其描述 队列是一种特殊的线性表,它的特殊性在于队列的插入和删除操作分别在表的两端进行. 插入的那一端称为队尾,删除的那一端称为队首.队列的插入操作和删除操作分别称为进队和出队. 先进先 ...

  3. 队列学习笔记 顺序队列

    //顺序队列操作 #define QUEUEMAX 15 typedef struct {DATA data[QUEUEMAX]; // 队列数组 int head; //队头 int tail; / ...

  4. 顺序队列相关操作(C语言实现)

    #顺序队列相关操作(C语言实现) #include<stdio.h> #define Size 100 typedef int DataType; typedef struct {Data ...

  5. c语言建立队列(顺序队列、循化队列和链式队列)

    c语言建立队列 一.顺序队列 队列的顺序存储结构 顺序队列的讨论 "下溢"现象 "真上溢"现象 "假上溢"现象 二.如何解决"假上 ...

  6. c语言队列(顺序队列,循环队列,链式队列)

    顺序队列 1.初始化: front=-1; rear=-1; 2.判空条件 font=rear; 3.队列已满条件 rear=max-1; 代码: #include<stdio.h> #i ...

  7. 数据结构(二):线性表包括顺序存储结构(顺序表、顺序队列和顺序栈)和链式存储结构(链表、链队列和链栈)...

    还记得数据结构这个经典的分类图吧: 今天主要关注一下线性表. 什么是线性表 线性表的划分是从数据的逻辑结构上进行的.线性指的是在数据的逻辑结构上是线性的.即在数据元素的非空有限集中 (1) 存在唯一的 ...

  8. 【数据结构】队列-顺序队列、循环队列、链队、双端队列

    定义 队列是只允许在一端进行插入,而在另一端进行删除的线性表. 队头(Front):允许删除的一端,又称为队首. 队尾(Rear): 允许插入的一端. 先进入队列的元素必然先离开队列,即先进先出(Fi ...

  9. 数据结构-队列之顺序队列

    队列是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,和栈一样,队列是一种操作受限制的线性表.进行插入操作的端称为队尾,进行删除操作的 ...

最新文章

  1. vue中进行判断不同字段的判断,主要是区分于微信小程序和网页版之间写法
  2. 算法工程师如何改进豆瓣电影
  3. 一起学设计模式-策略模式
  4. 攻防世界-web-i-got-id-200-从0到1的解题历程writeup
  5. 查看程序占用内存_电脑扩展了内存 但还总是提示内存不足?
  6. java学习笔记之数组
  7. 绘图解谜:公钥、私钥、证书
  8. Number.parseInt(), Number.parseFloat()
  9. VC----SDK下对窗口非客户区的操作
  10. 牛客网模拟笔试——庆祝61(JavaScript)
  11. HTML5 input新增属性
  12. #pragma comment使用
  13. 乔布斯传记概览:乔布斯18个让人着迷的地方
  14. linux虚拟机界面菜单栏和任务栏不见了,已解决
  15. 模块学习3:PTC052A-200串口摄像头拍照等功能编写
  16. 尚硅谷java学习笔记第五天(数组上)
  17. 华为高姐寄来的新年礼物
  18. java计算机毕业设计二手车商城源码+mysql数据库+系统+lw文档+部署
  19. 使用 docker 对容器资源进行限制
  20. 控制台报400、500内部服务器错误是什么原因?怎么解决?

热门文章

  1. Hyper-V 2016 系列教程25 配置NFS 存储服务器
  2. gRPC异步处理应答
  3. 轻松恢复误删除的共享文件,DPM2007系列之六
  4. 各类常见的网站检查工具
  5. 转置型FIR滤波器的fpga实现
  6. 解读4G发牌事件,了解下4G那点事!
  7. 人人都能看懂LSTM
  8. 前端各阶段资源,学得完算我输
  9. easyopen原理解析——不到100行代码实现一个最精简的easyopen
  10. Runtime知识点整理