关闭

循环队列&&STL

1410人阅读 评论(0) 收藏 举报
#include<iostream>
#include<string.h>
#include<cstdio>
using namespace std;
int queue[100];
int main()
{
	int T;
	cin>>T;
	while(T--)
	{
		int n;
		cin>>n;
		int front=0,rear=n;
		for(int i=0;i<n;++i) queue[i]=i+1;
		while(front!=rear)
		{
			cout<<queue[front++%n]<<" ";
		    queue[rear++%n]=queue[front++%n];
		}
	}return 0;
}

STL:

#include<iostream>
#include<string.h>
#include<cstdio>
#include<queue>
using namespace std;
queue<int> Q;
int main()
{     
	  int T;
	  cin>>T;
	  while(T--)
	  {
	    int n;
		cin>>n;  
		if(!Q.empty())
			Q.pop();
		for(int i=1;i<=n;++i) Q.push(i);
		while(!Q.empty())
		{
			cout<<Q.front()<<" ";
			Q.pop();
			Q.push(Q.front());
			Q.pop();
		}
		cout<<endl;
	  }return 0;
}



0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:370335次
    • 积分:7826
    • 等级:
    • 排名:第2652名
    • 原创:426篇
    • 转载:6篇
    • 译文:1篇
    • 评论:18条
    最新评论