輸入乙個字串,按字典序列印出該字串中字元的所有排列。例如輸入字串abc,則列印出由字元a,b,c所能排列出來的所有字串abc,acb,bac,bca,cab和cba。
固定第1位:讓所有位依次作為第一位;
利用遞迴,其餘位作為乙個字串繼續排列,以此類推。
需要注意的是遞迴結束條件:排列開始位為字串的最後一位則結束遞迴;
輸入:asdd輸出:adds
adsd
asdd
dads
dasd
ddas
ddsa
dsad
dsda
sadd
sdad
sdda
#include #include #include #include using namespace std;
class solution
private:
void permutation(string str, vector&result, int begin) else }}
void swap(char &a, char &b)
};int main()
return 0;
}
字串 字串排序
頻率統計 將頻率轉換為索引 資料分類 回寫頻率統計 統計每個字元出現的次數 將頻率轉換為索引 確定不同字元首位置 從右到左檢查檢查鍵中的字元 public class lsd public class msd public static void sort string a private stat...
《演算法》 字串 字串排序
輸入字串和字串對應的組別 組別也是字串的鍵 在滿足組別有小到大排序的情況下,將字串按字母順序排序 第一步,記錄組別的頻率 為了得到某個字串在排序後的範圍,比如組別2肯定在組別1後面,在組別3前面,把每個組別有多少個人記錄下來,方便我們定位 第三步,分類 該組別的位置起點 向後挪一位 因為當前位被用了...
字串排序
從鍵盤輸入10個學生的姓名和成績,請按字典序排列學生的姓名並輸出 姓名和成績對應關係保持不變 輸入共11行,前10行每行是乙個學生的姓名,最後一行是10個用空格分開的整數表示對應的10個學生成績。輸出姓名按字典序排列後的學生姓名和成績,共10行,每個學生的姓名和成績佔一行,姓名和成績間用逗號分開。b...