C语言实现全排列
来源:互联网 发布:linux telnet ip 端口 编辑:程序博客网 时间:2024/05/18 09:37
全排列是将一组数按一定顺序进行排列,如果这组数有n个,那么全排列数为n!个;为了用递归的方式实现全排列,我们将整组数中的所有的数分别与第一个数交换,然后总是处理后n-1个数的全排列。
#include <stdio.h>int count = 0;void swap(int *a, int *b){ int tmp = 0; tmp = *a; *a = *b; *b = tmp;}/*content : permulation arrayswap_idx : need swap idxsize : the content size*/void perm(int content[], int swap_idx, int size){ int i = 0; if(swap_idx >= size) { for(i = 0; i < size; i++) { printf("%d\t",content[i]); } count ++; printf("\n"); } else { for(i = swap_idx; i < size; i++) { swap(&content[swap_idx], &content[i]); perm(content, swap_idx+1, size); swap(&content[swap_idx], &content[i]); } }}int main(){ int content[] = {1,3,4,5,6}; perm(content, 0, 5); printf("\n==== total %d ====\n\n", count); return 0;}
0 0
- 全排列C语言实现
- C语言实现全排列
- C语言实现全排列
- C语言实现全排列
- 全排列 递归实现 c 语言实现
- 数组全排列c语言实现
- c 语言实现全排列和组合
- C语言实现全排列算法
- 字符串全排列 C语言实现
- C语言实现的全排列算法
- c语言编程实现数字全排列
- 数组全排列c语言实现
- c语言实现全排列一
- C语言全排列算法实现
- 全排列 (C语言实现)
- C语言实现的全排列算法
- C语言递归实现全排列
- C语言全排列
- HTML5解决跨域问题
- IOS添加通讯录
- TabHost、TabWidgt、Tabcontent之间的关系
- GCC: Compiling an OpenCL host on Windows
- 数组、随机数、时间、字符串在购物系统中的应用
- C语言实现全排列
- Eclipse安装ADT和介绍DDMS
- C#创建线程三种方式
- Telelogic.Rhapsody.v7.4.Windows-ISO 1CD(嵌入式仿真开发)
- 软件测试
- CoreData
- 无题
- R中的统计模型
- 时间复杂度、空间复杂度