撞车电影 启发:关于C++的问题,高手请进!

来源:百度文库 编辑:高考问答 时间:2024/05/06 16:16:05
请教我如何用C++来编写:
把N个元素进行排列,并输出。不能用枚举函数,而且N是由用户定义的。
不好意思!我这里说的排列指的是数学上的“排列”。比如说把1、2、3排列就是得出1、2、3和1、3、2和2、1、3和2、3、1和3、1、2和3、2、1这六种。而且有N个元素的话就有N!个排列,其中N!=1×2×3×4×5×6×7×...........×N

//回去看看数据结构吧~排序有N多种方法,这是一种,你参考一下。。最好
//自己做~~
#include<iostream.h>
void main()
{
int N;
cout<<"input 'N':";
cin>>N;
int *array=new int[N];
cout<<"please input"<<N<<" elements:";
for(int a=0;a<N;a++)
{
cin>>array[a];
}

for(int i=0;i<N;i++)
{
for(int j=N-1;j>i;j--)
{
if(array[i]>array[j])
{
array[i]=array[i]^array[j];
array[j]=array[j]^array[i];
array[i]=array[i]^array[j];
}

}
}
cout<<endl<<"result:";
for(int b=0;b<N;b++)
{
cout<<array[b]<<" ";
}
cout<<endl;

}