#include <iostream.h>
#include <stdio.h>
#include <time.h>
#include <math.h>
#include <stdlib.h>
#include <fstream.h>
ofstream ofile("8.txt",ios::app);
void swap(int &a, int &b)
{
int temp=a;
a=b;
b=temp;
}
void perm(int a[],int m,int n)
{
if (m==n)
{
for (int i=0; i<=m; i++)
{
//cout<<a[i]<<" ";
ofile<<a[i]<<" ";
}
//cout<<endl;
ofile<<endl;
}
else
{
int k=m;
for (int j=k; j<=n; j++)
{
swap(a[j], a[k]);
perm(a, m+1, n);
swap(a[j], a[k]);
}
}
}
void main()
{
int a[6] = {1,2,3,4,5,6};
int start=clock();
int end;
srand((unsigned)time(NULL));
perm(a, 0, 5);
end=clock()-start;
ofile<<"运行时间:"<<end<<endl;
cout<<"time:"<<end<<endl;
}
上面的程序是6个数全排列的C++ 程序,在.txt文件中可以得到全部720个排列的结果。但是我现在想对输出的排序结果每次取出一个排序,然后进行后续计算,不知如何修改!谢谢! 程序是我在网上下的,运行没问题