非主流歌曲dj,1234电影,义乌在线
描述
任意输入n个不重复的整数序列,输出序列的全排列。
输入
测试数据有多组,第一行是整数t(0<t<20),代表测试组数。每组测试数据有两行,第一行是整数的个数n(0<n<6),第二行是n个不重复的整数。
输出
按递增的顺序输出序列的全排列。每个测试数据后面输出一个空行。
样例输入
1
3
1 3 5
样例输出
1 3 5
1 5 3
3 1 5
3 5 1
5 1 3
5 3 1
#include<iostream> #include<algorithm> using namespace std; int cmp(int a,int b) { return a<b; } int main() { int a[100],t,n,i; cin>>t; while(t--) { cin>>n; for(i=0;i<n;i++) scanf("%d",&a[i]); sort(a,a+n,cmp); //一定要先将数组元素从小到大排序 for(i=0;i<n;i++) //先把第一个(完全从小到大)的排序输出 { if(i!=n-1) printf("%d ",a[i]); else printf("%d\n",a[i]); } while(next_permutation(a,a+n)) //每一次都会重新排列一次,直到排列为完全从大到小 { for(i=0;i<n;i++) { if(i!=n-1)printf("%d ",a[i]); else printf("%d\n",a[i]); } } cout<<endl; } }
如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复
如何在没有core文件的情况下用dmesg+addr2line定位段错误
用QT制作3D点云显示器——QtDataVisualization
网友评论