ADT 队列 queue

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

          

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



          

  


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值