字串排序

2021-09-28 22:23:39 字數 927 閱讀 3682

1.在主函式中輸入10個字串,用另乙個函式排序,在主函式中輸出排好序的字串;用指標陣列處理;

解:首先要解決乙個問題,怎麼輸入多個字串?

//可以用指標陣列儲存多個字串常量;

char *str = ;

//指標陣列,其中的每乙個元素都是指標,指向10個字串常量的首位址;

//指標陣列儲存10個字串常量的首位址;通過str[下標]可以輸出字串常量;

第二個要解決的問題是怎麼交換兩個字串常量?

//交換兩個字串常量,通過交換指標指向的位址來交換兩個字串常量;

const char *str1 = "haha";

const char *str2 = "nihao";

printf("%s,%s\n",str1,str2);

const char *tmp = str1;

str1 = str2;

str2 = tmp;

printf("%s,%s\n",str1,str2);

第三個問題,怎麼傳遞指標陣列的引數?指標陣列的形參是乙個二級指標;

字串排序用strcmp函式比較字串的大小。

void strsort(char **str,int len)//指標陣列的形參是乙個二級指標;

} }

字串排序的**跟氣泡排序十分類似;可以模擬一下;

氣泡排序:

氣泡排序(從小到大):兩兩比較,小的放前面,大的放後面;

第一趟(假設有n個數):比較n-1趟;

第二趟:比較n-2趟;

第n-1趟:比較n-(n-1)=1趟;

void bubblesort(int *arr,int len)

} }}

字串 字串排序

頻率統計 將頻率轉換為索引 資料分類 回寫頻率統計 統計每個字元出現的次數 將頻率轉換為索引 確定不同字元首位置 從右到左檢查檢查鍵中的字元 public class lsd public class msd public static void sort string a private stat...

《演算法》 字串 字串排序

輸入字串和字串對應的組別 組別也是字串的鍵 在滿足組別有小到大排序的情況下,將字串按字母順序排序 第一步,記錄組別的頻率 為了得到某個字串在排序後的範圍,比如組別2肯定在組別1後面,在組別3前面,把每個組別有多少個人記錄下來,方便我們定位 第三步,分類 該組別的位置起點 向後挪一位 因為當前位被用了...

字串排序

從鍵盤輸入10個學生的姓名和成績,請按字典序排列學生的姓名並輸出 姓名和成績對應關係保持不變 輸入共11行,前10行每行是乙個學生的姓名,最後一行是10個用空格分開的整數表示對應的10個學生成績。輸出姓名按字典序排列後的學生姓名和成績,共10行,每個學生的姓名和成績佔一行,姓名和成績間用逗號分開。b...