建立一個順序佇列,實現佇列的入隊和出隊操作。
阿新 • • 發佈:2018-11-05
標頭檔案: #ifndef seqqueue_H #define seqqueue_H const int queuesize=10; class seqqueue { int rear,front; int data[queuesize]; public: seqqueue(){front=rear=queuesize-1;} ~seqqueue(){} void enqueue(int x); int dequeue(); int getqueue(); int empty(); }; #endif 子函式: #include"seqqueue.h" void seqqueue::enqueue(int x) { if(front==(rear+1)%queuesize) throw"上溢"; rear=(rear+1)%queuesize; data[rear]=x; } int seqqueue::dequeue() { if(front==rear) throw"下溢"; front=(front+1)%queuesize; return data[front]; } int seqqueue::getqueue() { int i; if(front==rear) throw"下溢"; i=(front+1)%queuesize; return data[i]; } int seqqueue::empty() { if(front==rear) return 1; else return 0; } 主函式: #include<iostream> using namespace std; #include"seqqueue.h" void main() { seqqueue s; if(s.empty()) cout<<"佇列為空"<<endl; else cout<<"佇列非空"<<endl; cout<<"元素6和8執行入隊操作"<<endl; s.enqueue(6); s.enqueue(8); cout<<"檢視隊頭元素:"<<s.getqueue()<<endl; cout<<"執行出隊操作"<<endl; s.dequeue(); cout<<"檢視隊頭元素:"<<s.getqueue()<<endl; if(s.empty()) cout<<"佇列為空"<<endl; else cout<<"佇列非空"<<endl; }