C语言实现输入一个字符串后打印出该字符串中字符的所有排列
时间:2020-10-23 13:11:03|栏目: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语言实现输入一个字符串后打印出该字符串中字符的所有排列
本文地址:http://www.codeinn.net/misctech/14917.html