利用STl实现队列

队列的使用注意:1.无法输出数列,可以返回队尾或队首。

                2.队列是先进后出,相当于一群人排队,队列头的人先走,后来的人站在队尾。

                3.利用STL来实现普通队列:
                  q.pop()   删除队首
                  q.front() 返回队首
                  q.back()  返回队尾
                  q.push(x) 队尾加入一个元素x
                  q.empty() 队列为空则为真为0
                  q.size()  返回队列长度,元素个数
#include <algorithm>
#include <cstring>
#include <queue>
using namespace std;
#define maxn 2000
queue<int>a;
int main(){
    // q.pop(); q.push(); q.empty(); q.size();
    //q.front(); q.back();
    int n,x;
    cin>>n;
    for(int i=1;i<=n;i++){
        cin>>x;
        a.push(x);
    }
    cout<<a.front();
}
时间: 2024-10-12 12:15:40

利用STl实现队列的相关文章

poj 2243 bfs 利用 结构体中的step成员保存步数 ,STL的队列

//BFS #include <iostream> #include <queue> using namespace std; bool used[8][8]; int move[8][2]={1,2, -1,2, -2,1, -2,-1, -1,-2, 1,-2, 2,-1, 2,1}; struct position { int i,j; int step; position(int a,int b,int c) { i=a; j=b; step=c; } }; int mai

STL中队列(queue)的使用方法

STL 中队列的使用(queue) 基本操作: push(x) 将x压入队列的末端 pop() 弹出队列的第一个元素(队顶元素),注意此函数并不返回任何值 front() 返回第一个元素(队顶元素) back() 返回最后被压入的元素(队尾元素) empty() 当队列为空时,返回true size() 返回队列的长度 使用方法: 头文件: #include <queue> 声明方法: 1.普通声明 queue<int>q; 2.结构体 struct node { int x, y

STL的队列和栈简单使用

STL的队列和栈简单使用 #include <iostream>#include <cstdio>#include <string.h>#include <algorithm>#include <queue>#include <stack>using namespace std;int main(){ queue<int> Q; stack<int> S; int i; for(i=1;i<=10;i++

STL之队列的运用

卡片游戏:很好地介绍了队列的特点和应用 桌上有一叠牌,从第一张牌开始从上往下依次编号1~n.当至少还剩两张牌时进行如下操作:把第一张牌扔掉,然后把新的第一张牌放到整叠牌的最后.输入n,输出每次扔掉的牌,以及最后剩下的牌. 样例输入:7 样例输出:1 3 5 7 4 2 6 代码如下: #include<iostream> #include<queue> using namespace std; queue<int> q; //声明队列 int main() { int

利用栈实现队列(C语言实现)

在上一篇优化后队列的实现(C语言实现)  中,虽然我们对队列的时间复杂度进行了优化,但是却让代码的可读性变差了,代码显得略微臃肿(当然,这些话你看看就好,主要是为了奉承这篇博文的). 这里主要实现的是:利用栈来实现队列 基本思路: 1,创建两个栈 2,两个栈合并起来组装成一个队列,分别取名为instack,outstack,用于进队列,出队列 3,比如有1,2,3,4,5 需要进入队列,先将这一串数压入instack栈中,假设压入顺序为1,2,3,4,5(1为栈底),再将instack中的数据移

(经典map)A - Hardwood Species(7.1.1)(利用STL中自带的排序功能编程的实验范例)(转)

Description Hardwoods are the botanical group of trees that have broad leaves, produce a fruit or nut, and generally go dormant in the winter. America's temperate climates produce forests with hundreds of hardwood species -- trees that share certain

利用双缓冲队列来减少锁的竞争

在日常的开发中,日志的记录是必不可少的.但是我们也清楚对同一个文本进行写日志只能单线程的去写,那么我们也经常会使用简单lock锁来保证只有一个线程来写入日志信息.但是在多线程的去写日志信息的时候,由于记录日志信息是需要进行I/O交互的,导致我们占用锁的时间会加长,从而导致大量线程的阻塞与等待. 这种场景下我们就会去思考,我们该怎么做才能保证当有多个线程来写日志的时候我们能够在不利用锁的情况下让他们依次排队去写呢?这个时候我们就可以考虑下使用双缓冲队列来完成. 所谓双缓冲队列就是有两个队列,一个是

利用redis List队列简单实现秒杀 PHP代码实现

利用redis List队列简单实现秒杀 PHP代码实现 2018年05月28日 11:37:46 m_nanle_xiaobudiu 阅读数 35674更多 分类专栏: Redis 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/m_nanle_xiaobudiu/article/details/80479666 一 生产者producer部分 ---------------------

利用wget 和队列 模拟网络爬虫 (不带判重程序)

/* 利用wget  指令和队列 模拟实现网络爬虫 利用自己的站点wzsts.host3v.com测试了一下 有一点错误 文件运行后拿到index.html 对于连接仅仅可以拿到 html 和htm 结尾的 而.com的没有考虑(设计文件可能多) 一次测试后了解到如下问题: 1.文件应该有树形话还原网站目录 2.文本记录的连接应该分类化 项目运行需要 su 根权限进行  因为mv命令 本项目仅仅适合在linux下运行 本项目给真真的linux 爬虫做铺垫 */ #include<bits/std