演算法題 字串的全排列

2021-06-09 21:13:35 字數 433 閱讀 7585

問題:編寫乙個函式,用它把字串中所有的字元的各種排列形式全部顯示出來,即用給定字元做全排列。如

比如給定字串「hat」,函式輸出全排列:tha,aht,tah,ath,hta,hat.

演算法如下:

void dopermute(char in,char out,int used,int length,int recurslev)

/*遞迴情況*/

for(i=0;iint permute(char instring) //字串全排列

dopermute(instring,out,used,length,0);

free(out);

free(used);

return 1;

}void main()

演算法題 字串的排列

給定兩個字串 s1 和 s2,寫乙個函式來判斷 s2 是否包含 s1 的排列。換句話說,第乙個字串的排列之一是第二個字串的子串。示例1 輸入 s1 ab s2 eidbaooo 輸出 true 解釋 s2 包含 s1 的排列之一 ba 示例2 輸入 s1 ab s2 eidboaoo 輸出 fals...

OJ題 字串的排列 全排列問題

題目描述 輸入乙個字串,按字典序列印出該字串中字元的所有排列。例如輸入字串abc,則按字典序列印出由字元a,b,c所能排列出來的所有字串abc,acb,bac,bca,cab和cba。解法一 c 中本身有全排列的函式 next permutation 標頭檔案函式原型 bool next permu...

字串全排列演算法

輸入乙個字串,列印出該字串中字元的所有排列。例如輸入字串abc,則輸出由字元a,b,c所能排列出來的所有字串abc,acb,bac,bca,cab和cba 這是典型的遞迴求解問題,遞迴演算法有四個特性 對於字串的排列問題 如果能生成n 1個元素的全排列,就能生成n個元素的全排列。對於只有乙個元素的集...