手机
当前位置:查字典教程网 >编程开发 >C语言 >C语言实现输入一个字符串后打印出该字符串中字符的所有排列
C语言实现输入一个字符串后打印出该字符串中字符的所有排列
摘要:本文实例讲述了C语言实现输入一个字符串后打印出该字符串中字符的所有排列的方法,属于数学里的排列问题。是一个很实用的算法技巧。分享给大家供大家...

本文实例讲述了C语言实现输入一个字符串后打印出该字符串中字符的所有排列的方法,属于数学里的排列问题。是一个很实用的算法技巧。分享给大家供大家参考。具体实现方法如下:

例如输入字符串abc,则输出由字符a、b、c所能排列出来的所有字符串abc、acb、bac、bca、cab和cba。

C语言实现代码如下:

/* * Copyright (c) 2011 alexingcool. All Rights Reserved. */ #include <iostream> #include <algorithm> using namespace std; char array[] = {'a', 'b', 'c'}; const int size = sizeof array / sizeof *array; void Perm(char *array, int pos, int last) { if (pos == last) { copy(array, array + size, ostream_iterator<char>(cout, "")); cout << endl; } else { for(int i = pos; i <= last; i++) { swap(array[i], array[pos]); Perm(array, pos + 1, last); swap(array[i], array[pos]); } } } void main() { Perm(array, 0, 2); }

希望本文所述实例对大家C程序算法设计的学习有所帮助。

【C语言实现输入一个字符串后打印出该字符串中字符的所有排列】相关文章:

如何用C语言去除字符串两边的空字符

深入C语言把文件读入字符串以及将字符串写入文件的解决方法

用c语言根据可变参数合成字符串的实现代码

C语言实现修改文本文件中特定行的实现代码

C 字符串数组排序的小例子

关于c语言的一个小bug详解

c语言中位字段与结构联合的组合使用详解

使用C语言递归与非递归实现字符串反转函数char *reverse(char *str)的方法

c字符串,string对象,字符串字面值的区别详解

用c语言实现HUP信号重启进程的方法

精品推荐
分类导航