福大数据结构与算法实验题 Who is behind(双端队列)

原创 2013年12月03日 13:23:49
★实验任务
开学了,有 N 个新生需要排成一列。这 N 个新生编号从 1 到 N,为了排队方便,按编号
从 1 到 N 顺序入队伍,起始队伍为空,每个人进队伍的选择有两种,一种是直接排在当前队
伍的最前面,一种是排在当前队伍最末端。现在想知道所有人都入队伍之后每人的后面是谁。 ★数据输入
输入第一行为一个正整数 N (2 < N < 10000), 表示有 N 个人,编号为 1 到 N。。
接下来 1 行,有 N 个整数,0 或者 1。第 i 个数表示第 i 个同学是排在当前队伍最前端
还是在最末端。(0 表示排在当前队伍最前端,1 表示排在当前队伍最末端)
★数据输出
输出 N 行每行一个整数。第 i 行的整数表示全部人都入队伍后第 i 个同学后面的同学的

编号,如果后面没人的同学则输出 -1。 输入示例 输出示例

input:

6
0
1
0
1
0

1

output:

2
4
1
6
3

-1

利用双端队列可以很轻松解决此题

#include<iostream>
#include<deque>
#include<algorithm>
using namespace std;
int main()
{
	int n,flag,i;
	deque<int> Q;
	deque<int>::iterator iter;
	while(cin>>n)
	{
		for(i=1;i<=n;i++)
		{
			cin>>flag;
			if(flag==0)  //一次将第i个同学插入到队首或者队尾
				Q.push_front(i);
			else Q.push_back(i);
		}
		for(i=1;i<=n;i++)
		{
			iter=find(Q.begin(),Q.end(),i);   //找到第i个同学的位置
			if((++iter)!=Q.end())   //下一个同学的位置
			cout<<*iter<<endl;    
			else cout<<-1;   //如果后面没有人了,则输出-1
		}

	}
	return 0;
}


福大数据结构与算法实验题 4.2 Who is the strongest(链表实现)

★实验任务 在神奇的魔法世界,召唤师召唤了一群的魁偶。这些魁偶排成一排,每个魁偶都有一个 战斗值。现在该召唤师有一个技能,该技能能对其中某个魁偶战斗值进行提高,增加的值为 排在该魁偶左边的战斗值大于它...
  • qq544529563
  • qq544529563
  • 2013年12月03日 18:17
  • 827

福大数据结构与算法实验题 3.2 排队

★实验任务 N 个人站成一排,他们只能往右平视或俯视,给你每个人的高度,请问他们分别能够看 到几个人?(也就是说,每个人,假设标号为 i,可以看到标号在[i+1,j]这个区间内的人, j 是 i...
  • qq544529563
  • qq544529563
  • 2013年12月03日 18:51
  • 927

数据结构与算法实验题 4.2 Who is the strongest

数据结构与算法实验题 4.2 Who is the strongest ★实验任务 在神奇的魔法世界,召唤师召唤了一群的魁偶。这些魁偶排成一排,每个魁偶都有一个 战斗值。现在该召唤师有一个技能,该技能...
  • murmured
  • murmured
  • 2013年11月04日 21:56
  • 744

福大数据结构与算法实验题 1.2 单词背诵(map实现)

★实验任务 在多次四级考试不通过后,Winder 痛定思痛决定开始背单词。Winder 准备了一本笔记 本用来记录背过的单词。有时,Winder 会想知道自己已经背了多少个不同的单词,但是这 是一件很...
  • qq544529563
  • qq544529563
  • 2013年12月06日 13:31
  • 751

数据结构与算法·实验一

1、建立一个顺序表,要求从键盘输入10个整数,并将该顺序表的元素从屏幕显示出来。 2、用函数实现在顺序表中查找其中一个元素,如果找到,返回该元素在顺序表中的位置和该元素的值,否则提示无此元素。 3...
  • qq_40395278
  • qq_40395278
  • 2017年10月03日 16:26
  • 93

数据结构算法设计题汇总(1)

为了更好地学习数据结构,方便自己复习反思,特建立此分类进行课后习题的总结,通过总结来督促自己学习与反思,提升水平,一步步找出更好的算法。1.将一元素插入一个有序的顺序表中,使其仍然有序,写出能够实现此...
  • kelvinmao
  • kelvinmao
  • 2016年03月30日 23:08
  • 1643

步步为营(十)常用数据结构(3)STL-Deque(双端队列)

和前两个不同,双端队列(double-end queue)更像是一种折衷的产物。可能是人们发现Vector和List的水火不容,于是发明了这么一个集两家所长的东西。 双端队列具有Vector和Li...
  • youqi1shi
  • youqi1shi
  • 2015年07月28日 10:43
  • 730

数据结构实验的目的、要求和评分标准

实验要求
  • pixiness717
  • pixiness717
  • 2015年09月28日 12:55
  • 905

数据结构和算法经典100题-第1题

说在开头的话:如果拿金庸武侠做个比喻,数据结构和算法的学习就好比是程序员内功。内功的修炼往往不能一蹴而就,需要水滴石川。在博客中的这个分类中,专门记录我在数据结构和算法中的修炼。希望数据结构和算法的武...
  • bobkentblog
  • bobkentblog
  • 2015年03月26日 17:48
  • 1234

数据结构与算法实验题-战争来了

★实验任务 兽族和不死又要开战了。但是兽族的军队都是分部落管理的,为此,兽王 ——先知萨尔,要先知道自己能调度多少军队,才能在跟不死族开战的时候做好部署。已知现在兽族有 N 个兽人,编号从 1 到 N...
  • murmured
  • murmured
  • 2013年11月28日 12:55
  • 1292
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:福大数据结构与算法实验题 Who is behind(双端队列)
举报原因:
原因补充:

(最多只允许输入30个字)