/**
* 字串排序
* 練習**, 給定字串" nba" "cba" "ncaa" "wba" ...
要求: 不用collections.sort方法,collections.sort方法
/**view code* 物件比較大小compare的用法 字串排序
* 練習**, 給定字串" nba" "cba" "ncaa" "wba" ...
思路:
1.排序,想到陣列的排序.陣列排序想到選擇排序,或者氣泡排序
2.用陣列排序的思路做此題.(字串同理)
3.遍歷陣列,比較每乙個元素與下乙個元素的大小關係
4.最後交換兩個元素位置
5.輸出結果
經過學習總結:
1.string本身是不具備比較大小功能的,但是由於string物件實現了
comparable的介面.這個介面是可比較功能的介面.這裡定義了比較方法compareto方法.
api手冊中的描述:
此介面強行對實現它的每個類的物件進行整體排序。
這種排序被稱為類的自然排序,類的 compareto 方法被稱為它的自然比較方法
2.所以如果我們定義了乙個類,這個類產生的物件,想要比大小時,我們就不用自己寫方法了,
直接實現comparable介面,重寫compareto方法就可以了.注:本題中string類已經重寫了
comparto方法.
3.該方法比較物件 與 指定物件的 順序
寫法:
campareto(t o);
返回值: int 返回 0(兩者相等),負數(物件小於引數),正數 (物件大於引數)
引數: o 為要比較的物件 */
public
class
compareto;
printarr(str);
strsort(str);
//練習排序方法
排序用法
printarr(str);
}/*** 對字串進行由小到大排序
* @param
str string 需要排序的字串陣列
*/public
static
void
strsort(string str)}}
}/*** 交換兩個元素的位置的方法
* @param
strsort 需要交換元素的陣列
* @param
i 索引i
* @param
j 索引j
*/private
static
void swap(string strsort, int i, int
j)
/*** 列印字串陣列
* @param
str
*/private
static
void
printarr(string str)
system.out.println();}}
字串 字串排序
頻率統計 將頻率轉換為索引 資料分類 回寫頻率統計 統計每個字元出現的次數 將頻率轉換為索引 確定不同字元首位置 從右到左檢查檢查鍵中的字元 public class lsd public class msd public static void sort string a private stat...
《演算法》 字串 字串排序
輸入字串和字串對應的組別 組別也是字串的鍵 在滿足組別有小到大排序的情況下,將字串按字母順序排序 第一步,記錄組別的頻率 為了得到某個字串在排序後的範圍,比如組別2肯定在組別1後面,在組別3前面,把每個組別有多少個人記錄下來,方便我們定位 第三步,分類 該組別的位置起點 向後挪一位 因為當前位被用了...
字串排序
從鍵盤輸入10個學生的姓名和成績,請按字典序排列學生的姓名並輸出 姓名和成績對應關係保持不變 輸入共11行,前10行每行是乙個學生的姓名,最後一行是10個用空格分開的整數表示對應的10個學生成績。輸出姓名按字典序排列後的學生姓名和成績,共10行,每個學生的姓名和成績佔一行,姓名和成績間用逗號分開。b...