⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 曹俊-6分.txt

📁 这是很不错的计算机算法
💻 TXT
字号:
#include <fstream.h>

//--------------------- 变量、函数定义 开始 ------------------

ofstream myoutf("output.txt"); //输出到文件,全局变量

//--------------------- 变量、函数定义 结束 ------------------

void Swap(int & a,int & b)//引用调用,修改参数的实际值
{
int temp;
temp = a;
a = b;
b = temp;
}

void Perm(int list[], int k, int m)
{ //全排列算法 -- 递归
//产生list[k:m]的所有排列
if (k == m)
{
for (int i = 0; i<=m; i++)
{
myoutf << list[i] << " ";
cout << list[i] << " ";
}
myoutf << endl;
cout << endl;
}//if

else //多元素序列,递归产生排列
{
for (int i=k; i<=m; i++)
{
Swap(list[k],list[i]);
Perm(list, k+1, m);//递归
Swap(list[k],list[i]);
}//for
} //else

} //void Perm


void main() {
int * array; //定义一个整型数组指针
int count; //定义数组大小变量

ifstream myinf("input.txt",ios::nocreate);
if (myinf.fail())
{
cerr << "读入文件出错";
return;
}

myinf >> count;
//生成数组,用于下面的排列
array = new int[count]; //申请堆空间
for(int i=0;i<count;i++)
{
array[i] = i+1;
cout << array[i] << endl;
}

Perm(array, 0, count-1);
delete(array); //释放堆空间
} 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -