递归实现全排列
2013-11-19 00:17
239 查看
问题: 利用递归实现 1-4 4个数字的全排列
代码如下:
代码如下:
#include"stdio.h" #include "iostream.h" //交换两个数的位置 void swap(int *a,int *b) { int temp; temp = *a; *a = *b; *b = temp; } //递归实现全排列 void sort(int *list,int k,int n)//list[k..n]的全排列 { if( k == n )//输出一个排列 { for( int i=0; i<= n;i++) printf("%d ",list[i]); printf("\n"); } else { for( int i=k; i<=n; i++ ) { swap(&list[k],&list[i]);//交换两个元素 sort(list,k+1,n); swap(&list[k],&list[i]); } } } void main() { int list[] = {1,2,3,4}; sort(list,0,3); }
相关文章推荐
- C++递归实现全排列
- 8.n个字符的全排列(递归实现)
- 全排列的递归与非递归实现
- C++递归与非递归实现全排列
- leetcode 526. Beautiful Arrangement 递归实现全排列 + 经典深度优先遍历DFS做法
- java 递归实现元素全排列
- 用递归的方法实现全排列
- Java递归实现全排列
- 求模(非递归)全排列算法——Javascript实现
- 使用递归实现全排列
- 递归实现全排列
- 非递归方法用栈实现全排列
- 递归算法:将数据分为两部分,递归将数据从左侧移右侧实现全排列
- 简单全排列C递归实现 没考虑重复情况
- 算法设计与分析 全排列的递归实现算法
- 全排列的递归实现(Java版)
- C++全排列递归实现
- 用递归的方法实现全排列
- 每天一个小程序(17)——全排列递归实现
- 递归实现数组全排列