交易B(队列)

临近考试,又把之前的上机的题目看了一遍,自己又尝试着敲代码,发现好多之前的代码现在看来都被自己复杂化了许多,于是把现在重写的代码再贴出来。

之前的题目和代码戳这里

#include<queue>
#include<iostream>
using namespace std;
int main()
{
	queue<int> q;
	int n;
	int i;
	cin>>n;
	for(i=0; i<n; i++)
	{
		q.push(i+1);
	}
	int num[1001];
	int m;
	i=0;
	while(!q.empty())
	{

		num[i]=q.front();
		i++;
		q.pop();
		m=q.front();
		q.pop();
		q.push(m);
		if(q.size()==1)
		{
			break;
		}
	}
	for(i=0; i<n-2; i++)
	{
		cout<<num[i]<<" ";
	}
	cout<<num[n-2]<<endl;
	cout<<q.front()<<endl;
	return 0;
}

看上去比之前的好太多吧,栈和队列直接调用C++标准库里的函数比自己定义简单很多!!!

posted @ 2016-12-27 22:33  laixl  阅读(175)  评论(0编辑  收藏  举报