ADT 队列 queue

来源:互联网 发布:快递如何找淘宝客户 编辑:程序博客网 时间:2024/06/05 07:05

//用线性表 实现循环队列。。

          

  #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;}



          

  


0 0
原创粉丝点击