150723培训心得(queue)
#include <iostream>
#include <queue>
using namespace std; //这几个头文件不可缺少
int main()
{
queue<类型(如int)> q; //使用前需定义一个queue变量,且定义时已经初始化
while(!q.empty()) q.pop(); //反复使用时,用这个初始化(空则返回1,不空返回0)
q.push(1); //进队列
q.pop(); //出队列
int v=q.front(); //得到队首的值
int s=q.size(); //得到队列里元素个数
return 0;
}
其他概述:
使用queue之前,要先利用构造函数一个队列对象,才干够进行元素的入队。出队,取队首和队尾等操作;
(1)queue() queue<int>q; 或者 queue<int>Q[10000];
(2)queue(const queue&) 复制构造函数
比如:用一行代码利用queue对象q1,创建一个以双向链表为底层容器的queue对象q2
queue<int,list<int>>q1;queue<int,list<int>>q2(q1);
(3)元素入队 函数为:push()比如:q.push(3),意思是将3入队 ,注意队列的大小不预设
(4)元素出队 函数为:pop()比如:q.pop()
(5)取对头元素 函数为:front()
(6)取队尾元素 函数为:back()
(7)推断对空 函数为:empty()
(8)队列的大小 函数为:size()返回队列的当前元素的个数
代码:
#include<stdio.h>
#include<string.h>
#include<iostream>
#include<queue>
using namespace std;
int sta[110000];
int map[110000][3];
int ans[110000];
int main()
{
int m;
int n,s;
int i,j,k;
int now;
queue<int>q;//定义int型队列q
scanf("%d",&m);
while(m--)
{
scanf("%d%d",&n,&s);
q.push(s);//将s入队
for(i=1;i<n;i++)
{
map[i][0]=1;
scanf("%d%d",&map[i][1],&map[i][2]);
}
memset(ans,0,sizeof(ans));
ans[s]=-1;
while(!q.empty())//q.empty()推断是否队空,空则返回1。不空则返回0
{
now=q.front();//取队首数据
q.pop();//出队
for(i=1;i<n;i++)
{
if(map[i][0]&&map[i][1]==now)
{
q.push(map[i][2]);
ans[map[i][2]]=now;
map[i][0]=0;
}
else if(map[i][0]&&map[i][2]==now)
{
q.push(map[i][1]);
ans[map[i][1]]=now;
map[i][0]=0;
}
}
}
for(i=1;i<=n;i++)
{
printf("%d",ans[i]);
if(i!=n)
printf(" ");
else
printf("\n");
}
}
return 0;
}
150723培训心得(queue)的更多相关文章
- Scrum培训心得体会
# Scrum培训心得体会 非常荣幸能够参加公司组织的这场为期两天的培训,赛宝的老师讲的非常好.通过这次学习,理解了当前最流行的Scrum开发框架,下面总结了我对Scrum的理解. ## scrum的 ...
- 《工作型PPT设计之道》培训心得
参加包翔老师的“工作型PPT设计之道>培训,颇多心得,后来为部门新员工和同组同事做了转化培训,将心得整理成一份PPT讲义,效果颇佳.现将主要心得整理于此.因时间仓促,24条心得有拼凑之嫌,有待今 ...
- 在IT择善培训机构的培训心得
人的一生中都是不断学习来提高 自己,俗话说:“知识是人类不断进步的阶梯”也是“飞向天空的翅膀”. 本人因工作的加入了择善进行学习,能成为择善的学员,不知不觉来到择善1个多月,回想起这1个多 ...
- 20165314 [第二届构建之法论坛] 预培训心得(Java版)
安装IDEA配置JDKsourcepath啥的之前已经弄好了 克隆项目 emmm这次的代码托管部分好像比之前做的要简单,之前还要git config啥的,还有就是git clone不会提示要输入账号密 ...
- 150725培训心得(vector)
vector(不定长数组) 在C语言中,数组定义必须给定长度.可是有的时候太浪费空间,能够利用STL中vector函数来解决问题. 1 基本操作 (1)头文件#include<vector> ...
- 如何迅速掌握并提高linux运维技能(收藏文)
如何迅速掌握并提高linux运维技能 文章来源于南非蚂蚁 之前曾经写过一篇如何学习Linux的文章,得到了很多反馈,大家都在分享自己的学习经验和体会,并且也提出了不少意见和建议.学习这个事情其 ...
- Web前端培训学习心得
web前端工程师技术日趋成熟,越来越多的行业巨头正不断向web前端工程师示好,在未来几年,web前端将会以更多的形式渗透到我们生活中的方方面面,因此越来越多的从业者开始关注web前端开发行业,今天小编 ...
- 【总结】《氨基酸新晋管理者领导力培训》第一次课_Day2_学习心得
7月26日第二天学习心得: 今天主要学习了执行贯彻和绩效反馈两大块内容,我的心得有: 一.执行层面有两大原则:--理解员工需求: 回顾了一下自己以往的经历,一般这块我用的最多的一般是在接到一个新项目的 ...
- 第二期培训(PING问题定位指导)心得
一.什么是 PING DOS 命令,一般用于检测网络通与不通 ,也叫时延,其值越大,速度越慢 PING (Packet Internet Grope),因特网包探索器,用于测试网络连接量的程序.Pin ...
随机推荐
- Redis(三)-Ubuntu下安装
Ubuntu 下安装 在 Ubuntu 系统安装 Redi 可以使用以下命令: $sudo apt-get update $sudo apt-get install redis-server 启动 R ...
- Shiro图解
- Serializable资料整理
1. 序列化 简单的说就是为了保存 内存中各种对象的状态(是实例变量,不是方法),并且可以把保存的对象读取出来. 虽然保存 object states的方法很多,但是Java提供了一种保存对象状态的机 ...
- java 练习
class Hello{ public static void main(String [] args) { System.out.println(" Hello 这是我的第一个java作品 ...
- jenkins如何实现重新发布历史构建记录里的版本
Jenkins以前打包都会将打出的拷贝放到历史版本里放到Daily_Result里,昨天不只是误操作还是系统问题,误将一个历史版本的包删掉了,而且这个包是之前比较稳定的一个版本,需要重新给客户发,所以 ...
- java这个404你能解决吗?
前言 本文首发于公众号[我的小碗汤]本公众号免费提供csdn下载服务,海量IT学习资源,如果你准备入IT坑,励志成为优秀的程序猿,那么这些资源很适合你,包括但不限于java.go.python.spr ...
- <转>python 发送邮件实例
文件形式的邮件 #!/usr/bin/env python3 #coding: utf-8 import smtplib from email.mime.text import MIMEText fr ...
- python tips:类的专有属性
实例通常能够调用类的属性,但是有些属性是类专有的,实例无法调用. 实例调用方法时查找属性时,首先在自己的__dict__中找,找不到去类中找,在类中能够找到的属性都位于dir(cls)中,如果类的某些 ...
- 在vue中,让表格td下的textraea自适应高度
1.效果图 2.数据是动态获取的,因此存在一个异步的问题,解决的思路是数据获取到渲染在textarea中以后,获取文字的真实高度,然后把这个高度给textarea 3.具体代码以及步骤 (1)再cre ...
- TensorFlow技术解析与实战学习笔记(15)-----MNIST识别(LSTM)
一.任务:采用基本的LSTM识别MNIST图片,将其分类成10个数字. 为了使用RNN来分类图片,将每张图片的行看成一个像素序列,因为MNIST图片的大小是28*28像素,所以我们把每一个图像样本看成 ...