递归全排序排列
来源:互联网 发布:网络终端遗传因子 编辑:程序博客网 时间:2024/05/16 15:14
#include <stdlib.h>#include <stdio.h>#include <math.h>#define max_num100#define SWAP(X, Y, TEMP)((TEMP = X), (X = Y), (Y = TEMP))//很灵活的递归算法
void perm(int *list, int i, int n){int j, temp;if (i == (n - 1)) {for (j = 0; j < n; j++) {printf("%d ", list[j]);}printf("\n");} else {for (j = i; j < n; j++) {SWAP(list[i], list[j], temp);perm(list, i + 1, n);SWAP(list[i], list[j], temp);}} }int main(int argc, char *argv[]){int list[max_num];int i, j, num, min, temp;printf("Please input number:");scanf("%d", &num);if (num < 0 || num > max_num) {fprintf(stderr, "invalid data\n");exit(1);}for (i = 0; i < num; i++) {list[i] = rand() % 1000;printf("%d ", list[i]);}printf("\n");for (i = 0; i < num; i++) {min = i;for (j = i + 1; j < num; j ++) {if (list[j] < list[min])min = j;}SWAP(list[i], list[min], temp);}printf("After select sort result:\n");for (i = 0; i < num; i ++)printf("%d ", list[i]);printf("\n\n\n");perm(list, 0, num);}
0 0
- 递归全排序排列
- 递归--全排列
- 全排列递归算法
- 递归 全排列 问题
- 全排列递归算法
- 全排列算法-递归
- 全排列,递归实现
- 递归实现全排列
- 递归输出全排列
- 递归应用-全排列
- 递归实现全排列
- 全排列递归算法
- 全排列递归算法
- 递归全排列
- 递归写全排列
- 递归之全排列
- 递归枚举全排列
- 全排列递归算法
- Java中的枚举类型Enum
- 双向循环链表
- wodeboke dizhi
- linux内核的idle进程分析
- wodeboke dizhi
- 递归全排序排列
- C#数据库操作
- 一线和准一线城市比较知名的互联网公司
- 《代码大全》读后感(2) 程序工作不正常总是有原因的
- [PHP]Magic methods in PHP
- OCP-1Z0-053-200题-125题-155
- vc6做对对碰外挂原理
- poj 3295——Tautology
- iOS 创建与删除文件夹