首页 > 代码库 > [转载]数组的全排列问题
[转载]数组的全排列问题
申明:转自http://blog.csdn.net/wencheng2998/article/details/5971194
1 #include <iostream> 2 using namespace std; 3 int cnt = 0;//累计全排列的总数 4 5 6 void swap(char *a, char *b) 7 { 8 int temp; 9 temp = *a;10 *a = *b;11 *b = temp;12 }13 //k表示从下表为k的元素开始排列,排列的范围k到m14 void perm(char list[], int k, int m)15 {16 int i;17 if (k == m)18 {19 for (i = 0; i <= m; i++)20 {21 cout << " " << list[i];22 }23 cout << endl;//没输出一组排序,输出一个换行符24 cnt++;25 }26 else27 {28 for (i = k; i <= m; i++)29 {30 swap(&list[k], &list[i]);31 perm(list, k + 1, m);32 swap(&list[k], &list[i]);33 }34 }35 }36 int main()37 {38 char list[] = "12345";39 perm(list, 0, 4);40 cout << "全排列的总数是:" <<cnt << endl;41 return 0;42 }
[转载]数组的全排列问题
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。