队列类的设计

mac2025-04-07  10

/*队列类的设计: (1)在定义对象时,能够确定队列的长度 (2)定义enqueue和dequeue函数 (3)定义运算符重载函数,确定队列是否为空 (4)定义成员函数,返回队列长度 (5)定义变换函数,返回队列中数据个数 (6)定义析构函数 */ #include<iostream> using namespace std; class queue { int size; int *front; int *base; public: queue(int n) { front=base=new int[n]; size=n; } void enqueue(int x) { if(front-base<size) *front++=x; } int dequeue() { int member,*p; if(front>base) { member=*base; for(p=base+1;p<front;p++) { *(p-1)=*p; } --front; } return member; } int operator!() { return(front==base); } int getlength() { return size; } operator int() { return(front-base); } void disp() { while(base!=front) { cout<<*base++<<" "; } } ~queue() { delete []base; } }; int main() { queue s(10); s.enqueue(0); s.enqueue(1); s.enqueue(2); s.enqueue(4); int x=s.dequeue();cout<<x<<endl; cout<<"queue.length="<<s.getlength()<<endl; int y=s;cout<<"number="<<y<<endl; s.disp(); }

最新回复(0)