Files

112 lines
2.2 KiB
C++
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#include<iostream>//cout,cin
using namespace std;
#include "SqQueue.h"
char pause;
void dispmenu()
{//显示主菜单
cout<<endl;
cout<<"1-初始化顺序队列\n";
cout<<"2-元素入队\n";
cout<<"3-元素出队\n";
cout<<"4-取队头元素\n";
cout<<"5-取队尾元素\n";
cout<<"6-测队空\n";
cout<<"7-测队满\n";
cout<<"8-显示队列元素\n";
cout<<"9-退出\n";
}
//主函数
int main()
{
int i;
int e;
SqQueue<int> Q;//建立容量为20、元素类型为整型的空顺序栈
system("cls");//执行系统命令cls清屏
int choice;
do
{
dispmenu();//显示主菜单
cout<<"Enter choice(1~9):";
cin>>choice;
switch(choice)
{
case 1://初始化顺序队列
cout<<"请输入要创建的顺序队列的长度";
cin>>i;
cout<<endl;
InitQueue (Q,i);
cout<<endl<<"创建成功!"<<endl;
break;
case 2://入队
cout<<"输入要入队的元素值:"<<endl;
cin>>e;
cout<<endl;
if(EnQueue(Q,e))
cout<<endl<<"入队成功!"<<endl;
else
cout<<endl<<"入队不成功!"<<endl;
break;
case 3://出队
if(DeQueue(Q,e))
{
cout<<endl<<"出队元素为:"<<e<<endl;
cout<<endl<<"出队成功!"<<endl;
}
else
cout<<endl<<"队空,出队失败!"<<endl;
break;
case 4://取队头元素
if(GetHead(Q,e))
{
cout<<endl<<"队头元素为:"<<e<<endl;
}
else
cout<<endl<<"队空!"<<endl;
break;
case 5://取队尾元素
if(GetTail(Q,e))
{
cout<<endl<<"队尾元素为:"<<e<<endl;
}
else
cout<<endl<<"队空!"<<endl;
break;
case 6://测队空
if(QueueEmpty(Q))
cout<<endl<<"空队!"<<endl;
else
cout<<endl<<"不是空队!"<<endl;
break;
case 7://测队满
if(QueueFull(Q))
cout<<endl<<"队满!"<<endl;
else
cout<<endl<<"队不满!"<<endl;
break;
case 8://显示队列元素
DispQueue(Q);
cout<<endl;
cin.get(pause);
system("pause");
break;
case 9://退出
DestroyQueue(Q);
cout<<"结束运行"<<endl;
break;
default://非法选择
cout<<"Invalid choice\n";
break;
}
}while(choice!=9);
return 0;
}//end of main function