顺序队列之C++实现
2013-08-31 18:05
483 查看
下面介绍下用C++实现的顺序队列,在VC6下调试通过。
1、文件组织形式
![](http://img.blog.csdn.net/20130831180243062)
2、sq.h顺序队列类的说明
3、sq.cpp顺序队列类的定义
4、main.cpp
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++实现顺序队列(SeqQueue)(无主函数)
- 【c++】模拟实现顺序队列方法一
- c++实现顺序循环队列结构,简易队列
- C++实现顺序队列
- 顺序队列的c++实现
- c/c++实现顺序循环队列和链式队列
- C++ 双向队列链式实现和队列的顺序实现
- c++ queue 顺序队列的实现
- 顺序队列之C++实现
- 顺序队列C/C++实现
- C++数据结构之实现循环顺序队列
- 顺序队列模板--c++实现
- 数据结构——顺序队列的C++实现
- 顺序队列之C++实现
- 队列的顺序存储及实现(C++版)
- C++实现循环队列之顺序存储
- 循环顺序队列介绍及其C++实现
- 数据结构之循环队列(顺序表存储)——C++模板类实现
- c++实现顺序存储的队列