字符串全排列 C语言实现
来源:互联网 发布:淘宝货到付款钱给谁 编辑:程序博客网 时间:2024/05/18 18:42
参考 http://www.cnblogs.com/python27/archive/2011/12/08/2281352.html
#include <stdlib.h>#include <stdio.h>void swap(char *left, char *right){char tmp = *left;*left = *right;*right = tmp;}void permutation(char *str, char *begin){char *swapPos = NULL;if(str == NULL || begin == NULL) return;if((*begin) == '\0'){printf("%s\n", str);return;}for(swapPos = begin; (*swapPos) != '\0'; ++swapPos){swap(begin, swapPos);permutation(str, begin + 1);swap(begin, swapPos);}}int main(){char *cases[] = {"abc", "12", "A", "6789"};char **str;int strIndex = 0;int letterIndex = 0;int casesNum = sizeof(cases) / sizeof(char*);str = (char**)malloc(sizeof(cases));for(strIndex = 0; strIndex < casesNum; ++strIndex){str[strIndex] = (char*)malloc(1 + strlen(cases[strIndex]));for (letterIndex = 0; letterIndex < strlen(cases[strIndex]); ++letterIndex){str[strIndex][letterIndex] = cases[strIndex][letterIndex];}str[strIndex][letterIndex] = '\0';}for(strIndex = 0; strIndex < casesNum; ++strIndex){printf("%s:\n", str[strIndex]);permutation(str[strIndex], str[strIndex]);}for(strIndex = 0; strIndex < casesNum; ++strIndex){free(str[strIndex]);}free(str);}
- 字符串全排列 C语言实现
- 全排列C语言实现
- C语言实现全排列
- C语言实现全排列
- C语言实现全排列
- 字符串全排列问题 java语言实现
- 全排列 递归实现 c 语言实现
- 数组全排列c语言实现
- c 语言实现全排列和组合
- C语言实现全排列算法
- C语言实现的全排列算法
- c语言编程实现数字全排列
- 数组全排列c语言实现
- c语言实现全排列一
- C语言全排列算法实现
- 全排列 (C语言实现)
- C语言实现的全排列算法
- C语言递归实现全排列
- Exchange two numbers without another variable
- COCOS2D(4) 使用过渡场景在多个场景的切换
- Java的沙箱机制原理入门
- 第二场热身赛A(简单水题)
- 类对象的方法with和in
- 字符串全排列 C语言实现
- Ruby中的inject
- 关于scanf的一点心得。
- C关键字assert详解
- VB.Net.to.C.Sharp.Converter.v3.01.Incl.Keymaker-CORE
- CodeForces Round #142(229C) - Triangles
- Windows与ubuntu之间的远程桌面连接
- 关于android2.3调试g-sensor
- 配置VIM做PHP的IDE开发环境