从str中选 m 个数的所有排列算法
生活随笔
收集整理的這篇文章主要介紹了
从str中选 m 个数的所有排列算法
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
// 從str中選 m 個(gè)數(shù)的所有排列算法
void perm(string str,int a,int b,int m){
// 字符數(shù)達(dá)到 m 個(gè)進(jìn)行輸出 if(a==m){for(int i=0;i<m;i++){cout<<str[i];}cout<<endl;}
// 這一句刪除,避免每次遞歸都多出一步判斷
// if(a==b){
// return;
// } for(int k=a;k<=b;k++){swap(str[k],str[a]);perm(str,a+1,b,m);
// 去掉這一句排列出來(lái)的才是有序的,否則會(huì)出現(xiàn)無(wú)序
// swap(str[k],str[a]);}
}
int main(){string str;int m;
// 輸入的字符各不相同,且從小到大有序 cin>>str>>m;perm(str,0,str.size()-1,m);
}
總結(jié)
以上是生活随笔為你收集整理的从str中选 m 个数的所有排列算法的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: python 2.7导入arcpy_[A
- 下一篇: 丁腈橡胶自然老化时间_东莞元耀:解析抗U