對各字串排序

2021-08-26 02:56:50 字數 1430 閱讀 6380

/**

* 物件比較大小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); //練習排序方法

// arrays.sort(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();

}}

對字串排序

def main 字串 s helloworld 轉換成陣列 l list s 對陣列排序,注意,該方法沒有返回值 l.sort 轉換成陣列 s join l print s 結果如下 hwdellloor if name main main 然後sort再join。def main s hello...

sort對字串排序

漲知識了 sort只能對c 裡面的string串排序,不能對c裡面的字元陣列排序 fzu2088 就是乙個簡單的字串字典序排序 然後輸出就ok了 主要是說的 sort只能對c 裡面的string串排序,不能對c裡面的字元陣列排序 include include include include usi...

對字串進行排序

給三個字串,對它們進行排序,之前寫過對三個數排序,定義乙個中間變數,a,b,c依次比較,如果不是順序,就用臨時變數對它們進行交換。字串也可以用這樣的方法進行排序。void sort const char a,const char b,const char c 字串不能被修改,應該用const修飾 i...