字串排序

2022-08-27 04:27:08 字數 1573 閱讀 1496

/**

*   字串排序

*    練習**, 給定字串" nba" "cba" "ncaa" "wba" ...    

要求: 不用collections.sort方法,collections.sort方法

/**

* 物件比較大小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();}}

view code

字串 字串排序

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

《演算法》 字串 字串排序

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

字串排序

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