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;

}

运行截图

---------------------------------------------------20200928更新----------------------------------------------

常用函数

常用成员函数功能
empty()如果 queue 中没有元素的话,返回 true。
size()返回 queue 中元素的个数。
front()返回 queue 中第一个元素的引用。如果 queue 是常量,就返回一个常引用;如果 queue 为空,返回值是未定义的。
back()返回 queue 中最后一个元素的引用。如果 queue 是常量,就返回一个常引用;如果 queue 为空,返回值是未定义的。
push(const T& obj)在 queue 的尾部添加一个元素的副本。这是通过调用底层容器的成员函数 push_back() 来完成的。
emplace()在 queue 的尾部直接添加一个元素。调用底层emplace_back(),效率高。
push(T&& obj)以移动的方式在 queue 的尾部添加元素。这是通过调用底层容器的具有右值引用参数的成员函数 push_back() 来完成的。
pop()删除 queue 中的第一个元素。
swap(queue<T> &other_queue)将两个 queue 容器适配器中的元素进行互换,需要注意的是,进行互换的 2 个 queue 容器适配器中存储的元素类型以及底层采用的基础容器类型,都必须相同。

更多STL例子:C++ STL的使用

有问题请下方评论,转载请注明出处,并附有原文链接,谢谢!如有侵权,请及时联系。

  • 5
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lady_killer9

感谢您的打赏,我会加倍努力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值