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 金店立秋祝福语简短英文
18 婆婆高寿祝福语大全简短