C语言实现输入一个字符串后打印出该字符串中字符的所有排列
本文实例讲述了C语言实现输入一个字符串后打印出该字符串中字符的所有排列的方法,属于数学里的排列问题。是一个很实用的算法技巧。分享给大家供大家参考。具体实现方法如下:
例如输入字符串abc,则输出由字符a、b、c所能排列出来的所有字符串abc、acb、bac、bca、cab和cba。
C语言实现代码如下:
/*
*Copyright(c)2011alexingcool.AllRightsReserved.
*/
#include<iostream>
#include<algorithm>
usingnamespacestd;
chararray[]={'a','b','c'};
constintsize=sizeofarray/sizeof*array;
voidPerm(char*array,intpos,intlast)
{
if(pos==last){
copy(array,array+size,ostream_iterator<char>(cout,""));
cout<<endl;
}
else{
for(inti=pos;i<=last;i++){
swap(array[i],array[pos]);
Perm(array,pos+1,last);
swap(array[i],array[pos]);
}
}
}
voidmain()
{
Perm(array,0,2);
}
希望本文所述实例对大家C程序算法设计的学习有所帮助。
热门推荐
10 儿子立冬祝福语简短独特
11 对当兵的祝福语简短
12 侄儿高考试祝福语简短
13 伴郎红包祝福语朋友简短
14 媳妇生日简短祝福语朋友
15 公司年会祝福语简短最好
16 元旦感恩祝福语简短大全
17 红包祝福语简短10字
18 周六早晨祝福语简短