C++STL 之queue的简单使用
queue,队列。特点:先进先出。C++ STL提供了入队,出队,获取队顶,队尾等函数。
代码:
/*
queue
Author:YuBo
Date:2018/2/5
*/
#include<iostream>
#include<queue>
using namespace std;
queue<int> q;
void menu()
{
cout<<"******1.入队 2.出队**********"<<endl;
cout<<"******3.读取队顶 4.读取队尾******"<<endl;
cout<<"******5.队中元素个数 6.退出**********"<<endl;
}
void PUSH()
{
int i;int n;int N;
cout<<"请输入你要输入的整数个数:"<<endl;
cin>>N;
cout<<"请输入"<<N<<"个整数:"<<endl;
for(i=0;i<N;i++)
{
cin>>n;
q.push(n);
}
}
void POP()
{
int i,N;
cout<<"请输入你要删除的整数个数:"<<endl;
cin>>N;
if(N>q.size())cout<<"里面没有这么多元素。。。"<<endl;
else{
for(i=0;i<N;i++)
{
q.pop();
}
}
}
void Getfront()
{
if(q.empty())cout<<"队已经空了!"<<endl;
else cout<<"队顶元素为:"<<q.front()<<endl;
}
void Getback()
{
if(q.empty())cout<<"队已经空了!"<<endl;
else cout<<"队尾元素为:"<<q.back()<<endl;
}
void Getsize()
{
cout<<"队的大小为:"<<q.size()<<endl;
}
int main()
{
int i;
while(1)
{
menu();
cout<<"请输入菜单号:"<<endl;
cin>>i;
if(i==6)break;
switch(i)
{
case 1:PUSH();break;
case 2:POP();break;
case 3:Getfront();break;
case 4:Getback();break;
case 5:Getsize();break;
default:cout<<"输入错误!";break;
}
}
return 0;
}
运行截图:
有问题请下方评论,转载请注明出处,并附有原文链接,谢谢!如有侵权,请及时联系。