顺序队列之C++实现
下面介绍下用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;
}
顺序队列之C++实现的更多相关文章
- 顺序队列C/C++实现
#include <iostream> using namespace std; const int MAXSIZE = 1000; typedef int ELEMTYPE; const ...
- 数据结构Java实现07----队列:顺序队列&顺序循环队列、链式队列、顺序优先队列
一.队列的概念: 队列(简称作队,Queue)也是一种特殊的线性表,队列的数据元素以及数据元素间的逻辑关系和线性表完全相同,其差别是线性表允许在任意位置插入和删除,而队列只允许在其一端进行插入操作在其 ...
- Javascript数据结构与算法--队列(顺序队列、优先队列、循环队列)的实现与用法
前言 队列和栈非常类似,前面已经讲过了栈的实现与用法,现在我们来说说队列. 队列介绍 队列遵循FIFO(First In First Out,先进先出)原则的一组有序的项. 队列是一种特殊的线性表,特 ...
- java 实现简单的顺序队列
package com.my; import java.util.Arrays; /** * 顺序队列 * @author wanjn * */ public class ArrayQueue { p ...
- C语言顺序队列
顺序队列是一种只能在一头进和另一头出的数据结构,所以结构体里设2个指针分别指向头部和尾部,用数组来存储数据. #define MAXSIZE 1024 typedef int elemtype; ty ...
- java代码实现顺序队列
java实现顺序队列 package xianxinTable; import java.util.ArrayList; import java.util.Iterator; import com.s ...
- 数据结构 - 顺序队列的实行(C语言)
数据结构-顺序队列的实现 1 顺序队列的定义 线性表有顺序存储和链式存储,队列作为一种特殊的线性表,也同样存在这两种存储方式.我们先来看队列的顺序存储结构. 队列的顺序储存结构:用数组存储队列,为了避 ...
- 数据结构之顺序队列(C实现)
一.队列是什么 队列是一种可以实现“先进先出”的存储结构. 队列通常可以分为两种类型: 一.顺序队列,采用顺序存储,当长度确定时使用. 顺序队列又有两种情况: ①使用数组存储队列的称为静态顺序队列. ...
- 数据结构----队列:顺序队列&顺序循环队列、链式队列、顺序优先队列
一.队列的概念: 队列(简称作队,Queue)也是一种特殊的线性表,队列的数据元素以及数据元素间的逻辑关系和线性表完全相同,其差别是线性表允许在任意位置插入和删除,而队列只允许在其一端进行插入操作在其 ...
随机推荐
- 假设给Contact的List加一个用字母排序的导航
效果图: 这样写Layout: <? xml version="1.0" encoding="utf-8"? > <LinearLayout ...
- Android开发之布局优化
1.抽象布局标签 (1) <include>标签 include标签经常使用于将布局中的公共部分提取出来供其它layout共用,以实现布局模块化.这在布局编写方便提供了大大的便利. 以下以 ...
- SGU326Perspective(网络流量的最大流量)(经典赛车模型)
职务地址:http://acm.sgu.ru/problem.php? contest=0&problem=326 额,这题读错题了...又WA了好长时间...坚持不看题解也挺浪费时间的..早 ...
- Android应用开发提高篇(6)-----FaceDetector(人脸检测)
链接地址:http://www.cnblogs.com/lknlfy/archive/2012/03/10/2388776.html 一.概述 初次看到FaceDetector这个类时,心里想:And ...
- AeroSpike 记录
1.基本概念: namespace:类似关系型数据库中的schema,这个需要在配置文件中配置,可以指定存储引擎.存储大小.备份数.存活时间等 set:类似关系型数据库中的表 record:类似关系型 ...
- POJ_1698_Alice's Chance
#include <iostream> #include <queue> #include <climits> #include <cstring> u ...
- Database SQL script automation management tools investigation
Recently researched about database SQL scripts auto management tools, recorded the results here. Res ...
- 【转】AC算法详解
原文转自:http://blog.csdn.net/joylnwang/article/details/6793192 AC算法是Alfred V.Aho(<编译原理>(龙书)的作者),和 ...
- c++builder 重载WindowProc、WndProc 截获消息(比Delphi多一个Message Map方法)
c++builder 重载WindowProc.WndProc 截获消息 方法一WindowProc void __fastcall myWindowProc(Messages::TMessage ...
- 目前网络上大部分的网站都是由ASP或PHP开发,并且java平台的软件购买成本不适合中小企业客户,一般适用于银行、国家安全等行业领域
目前网络上大部分的网站都是由ASP或PHP开发,并且java平台的软件购买成本不适合中小企业客户,一般适用于银行.国家安全等行业领域. 要求建设开发大型复杂的网站,但仅有一个idea,不能够提供网站详 ...