山东大学 软件工程 学院
数据结构 课程实验报告
学号: 实验题目:递归练习 实验学时: 实验目的: 1、 熟悉开发工具的使用。 2、掌握递归的实现思想。 硬件环境: 实验室 姓名: 班级: 软件工程14级2班 实验日期: 2015.10.21 软件环境: Visual studio 2013 实验步骤与内容: 实验内容: 1、输出n个整数的全排列。 2、输出n个整数的所有子集。 代码体: AllArrange.cpp #include
void Perm(int list[], int k, int m){ int i; if (k == m){
for (int i = 0; i <= m; i++) cout << list[i]; cout << \; } else
for (i = k; i <= m; i++){ Swap(list[k], list[i]); Perm(list, k + 1, m); Swap(list[k], list[i]); } }
int main(){ int p[4]; int i;
for (i = 0; i< 4; i++){
p[i] = i; } Perm(p, 0, 3); cin.get(); return 0; } 实验结果:
代码体: Getsubclass.cpp #include
if (j > 0)
cout << ch[j - 1] << \; else
cout << \; cout << endl; } else {
Build(str, n - 1, m); char* newStr;
newStr = new char[m + 1]; for (int i = 0; i < m + 1; i++){ newStr[i] = str[i]; }
newStr[n - 1] = ' '; Build(newStr, n - 1, m); } }
int main() {
char v[5] = \;