下面介绍下用C++实现的顺序队列,在VC6下调试通过。

1、文件组织形式

2、sq.h顺序队列类的说明

#ifndef _SQ_H_
#define _SQ_H_ typedef int dataType;
#define maxSize 100 class 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;
}

最新文章

  1. 使用django开发博客过程记录4——Category分类视图
  2. [moka同学笔记]php 获取时间(今天,昨天,三天内,本周,上周,本月,三年内,半年内,一年内,三年内)
  3. Smack 3.3.1 发布,Java 的 XMPP 开发包
  4. jQuery ajax同步的替换方法,使用 $.Deferred()对象
  5. 学javascript必须要知道的事
  6. Erlang 进程被抢占的条件——一个进程长时霸占调度器的极端示例
  7. mysql-5.5.28源码安装过程中错误总结
  8. [Angular 2] Angular 2 Smart Components vs Presentation Components
  9. 【zabbix系列】报警系统的设置和排除
  10. SIFT算法:特征描述子
  11. JavaScript原型链与继承
  12. Android 开发笔记 “广播组件使用”
  13. Mathematica 10 Mac 设置默认工作目录
  14. Xamarin.Android 调用原生的Jar包
  15. bootstrap 弹出框实现点击后打开离开后关闭
  16. sql 思路
  17. Delphi的程序单元、结构、基础知识(转)
  18. notepad++列块编辑操作
  19. Python: attrgetter()函数: 排序不支持原生比较的对象
  20. 值得推荐的C/C++开源框架和库

热门文章

  1. 判断联网wifi
  2. margin 属性的相关问题
  3. BZOJ 2751: [HAOI2012]容易题(easy)( )
  4. jquery获取多个checkbox的值异步提交给php
  5. Docker背后的容器管理——Libcontainer深度解析
  6. [转]关于 Swift 的一点初步看法
  7. Protel 99SE铺铜问题总结
  8. 以程序的方式操纵NTFS的文件权限(陈皓)
  9. QTableView另类打印解决方案(复用render函数去解决print问题)
  10. nginx启动、开机自启动、重启、关闭