用c++编写一个程序,实现循环队列的各种基本运算,并在此基础上设计一个主程序完成如下功能: 初始化
用c++编写一个程序,实现循环队列的各种基本运算,并在此基础上设计一个主程序完成如下功能:初始化队列Q。判断队列Q是否非空。依次进队列元素a,b,c。出队一个元素,输出该...
用c++编写一个程序,实现循环队列的各种基本运算,并在此基础上设计一个主程序完成如下功能:
初始化队列Q。
判断队列Q是否非空。
依次进队列元素a,b,c。
出队一个元素,输出该元素。
输出队列Q的元素个数。
依次进入队列元素d,e,f。
输出出队序列。
释放队列。 展开
初始化队列Q。
判断队列Q是否非空。
依次进队列元素a,b,c。
出队一个元素,输出该元素。
输出队列Q的元素个数。
依次进入队列元素d,e,f。
输出出队序列。
释放队列。 展开
2015-04-21
展开全部
#include<iostream>
using namespace std;
const int Max=100;
template <class T>
class MyQueue
{
private:
T *aa;
unsigned int front;
unsigned int tail;
public :
void init();
bool isEmpty();
T DeQueue();
void EnQueue(const T a);
unsigned int size();
void destroy();
};
template <class T>
void MyQueue<T>::init()
{
aa = new T[Max+1];
front=0;
tail=0;
return;
};
template <class T>
bool MyQueue<T>::isEmpty()
{
if(front==tail-1) return true;
else return false;
};
template <class T>
unsigned int MyQueue<T>::size()
{
return tail-front;
};
template <class T>
void MyQueue<T>::EnQueue(const T a)
{
tail=tail+1;
aa[tail]=a;
};
template <class T>
T MyQueue<T>::DeQueue()
{
front=front+1;
T t=aa[front];
cout << t << endl;
return t;
};
template <class T>
void MyQueue<T>::destroy()
{
delete[] aa;
};
int main()
{
MyQueue<char> st;
st.init();
if(st.isEmpty()) cout << "MyQueue is empty." << endl;
else cout <<"MyQueue is not empty." << endl;
st.EnQueue('a');
st.EnQueue('b');
st.EnQueue('c');
st.DeQueue();
cout << st.size() << endl;
st.EnQueue('d');
st.EnQueue('e');
st.EnQueue('f');
cout<< st.size()<<endl;
while(!st.isEmpty()) st.DeQueue();
st.destroy();
system("pause");
return 0;
}
更多追问追答
追问
求助一件事情。你会写opengl程序么?用c++。。
有偿的,。150以内都可以接受
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询