从str中选 m 个数的所有排列算法
生活随笔
收集整理的這篇文章主要介紹了
从str中选 m 个数的所有排列算法
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
// 從str中選 m 個數的所有排列算法
void perm(string str,int a,int b,int m){
// 字符數達到 m 個進行輸出 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);
// 去掉這一句排列出來的才是有序的,否則會出現無序
// swap(str[k],str[a]);}
}
int main(){string str;int m;
// 輸入的字符各不相同,且從小到大有序 cin>>str>>m;perm(str,0,str.size()-1,m);
}
總結
以上是生活随笔為你收集整理的从str中选 m 个数的所有排列算法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python 2.7导入arcpy_[A
- 下一篇: 丁腈橡胶自然老化时间_东莞元耀:解析抗U