template<typename T> Class Myqueue { public: Myqueue(int max=50):capa(max),head(0),tail(0),data(nullptr) { data=new T[capa] } void enqueue(T &x);//入队 T front();//队首 void dequeue();//出队 int counts();//元素个数 bool empty();//判空 bool full();//判满 ~Myqueue(delete[]data); private: int head; int tail; int count; T* data; int capa; } template<typename T> void Myqueue<T>::enqueue(T &x) { if(!full()) { arr[tail]=x; count++; } if(tail==capa) tail=0; else tail++; } template<typename T> bool Myqueue<T>::empty() { return count==0; } bool Myqueue<T>::full() { return count==capa; } template<typename T> T MyStack<T>::front() { if(!empty()) return arr[head]; } template<typename T> void MyStack<T>::pop() { if(!empty()) { if(head==capa) head=0; else head++; --count; } } template<typename T> int MyStack<T>::counts() { return count; }
时间: 2024-10-19 16:51:24