C语言实现输入一个字符串后打印出该字符串中字符的所有排列 C语言实现输入一个字符串后打印出该字符串中字符的所有排列
人气:0想了解C语言实现输入一个字符串后打印出该字符串中字符的所有排列的相关内容吗,在本文为您仔细讲解C语言实现输入一个字符串后打印出该字符串中字符的所有排列的相关知识和一些Code实例,欢迎阅读和指正,我们先划重点: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程序算法设计的学习有所帮助。
加载全部内容