ADT 队列 queue
2013-12-24 14:19
337 查看
//用线性表 实现循环队列。。
#include<iostream>
using namespace std;
#define MAX_SIZE 100
//用线性表实现循环队列
class myqueue
{
private:
int term[MAX_SIZE];
int front,rear;
public :
myqueue();
bool is_empty();
bool is_full();
void push(int a);
int pop();
};
myqueue::myqueue()
{
front=-1;//第一个有元素的下标
rear=0;//最后一个有元素的下表
}
bool myqueue::is_empty()
{
return rear-1==front;
}
bool myqueue::is_full()
{
return (rear-2==front || (rear==0 && front==MAX_SIZE-2));
}
void myqueue::push(int a)
{
if(!is_full())
{
if(front==MAX_SIZE-2) front=0;
else front++;
term[front]=a;
}
else cout<<"failed push ! full queue"<<endl;
}
int myqueue::pop()
{
int q=rear;
if(!is_empty())
{
if(rear==MAX_SIZE-2) rear=0;
else rear++;
}
else cout<<"failed push ! full queue"<<endl;
return term[q];
}
int main()
{
myqueue s;
s.push(1);
s.push(2);
s.push(3);
cout<<s.pop()<<endl;
cout<<s.pop()<<endl;
cout<<s.pop()<<endl;
//cout<<s.pop()<<endl;
}
#include<iostream>
using namespace std;
#define MAX_SIZE 100
//用线性表实现循环队列
class myqueue
{
private:
int term[MAX_SIZE];
int front,rear;
public :
myqueue();
bool is_empty();
bool is_full();
void push(int a);
int pop();
};
myqueue::myqueue()
{
front=-1;//第一个有元素的下标
rear=0;//最后一个有元素的下表
}
bool myqueue::is_empty()
{
return rear-1==front;
}
bool myqueue::is_full()
{
return (rear-2==front || (rear==0 && front==MAX_SIZE-2));
}
void myqueue::push(int a)
{
if(!is_full())
{
if(front==MAX_SIZE-2) front=0;
else front++;
term[front]=a;
}
else cout<<"failed push ! full queue"<<endl;
}
int myqueue::pop()
{
int q=rear;
if(!is_empty())
{
if(rear==MAX_SIZE-2) rear=0;
else rear++;
}
else cout<<"failed push ! full queue"<<endl;
return term[q];
}
int main()
{
myqueue s;
s.push(1);
s.push(2);
s.push(3);
cout<<s.pop()<<endl;
cout<<s.pop()<<endl;
cout<<s.pop()<<endl;
//cout<<s.pop()<<endl;
}
相关文章推荐
- 队列(Queue ADT)C语言实现
- ADT - 链式队列(LinkQueue)
- uWSGI listen queue 队列溢出的问题
- java中使用队列:java.util.Queue
- Java多线程总结之线程安全队列Queue
- 并发队列ConcurrentLinkedQueue和阻塞队列LinkedBlockingQueue用法
- 自定义队列Queue
- linux中编写自己的并发队列类(Queue 并发阻塞队列)
- 【Basic Code】浅谈线程锁及Queue队列
- 《并发编程》--16.并发队列ConcurrentLinkedQueue
- [转载] STL 之 priority_queue 优先级队列
- JUC源码分析17-队列-ArrayBlockingQueue
- BZOJ1727: [Usaco2006 Open]The Milk Queue 挤奶队列
- Dlib库【5】——分配任务,遍历目录,队列queue的用法
- laravel 队列queue
- 队列Queue
- STL中优先队列(priority_queue)的相关操作
- 阻塞队列ArrayBlockingQueue说明
- 并发队列ConcurrentLinkedQueue和阻塞队列LinkedBlockingQueue
- 《算法竞赛入门经典2ndEdition 》例题5-6 团体队列(Team Queue, Uva540)