數(shù)組冒泡排序
假設(shè)有5個數(shù)字12,21,6,8,15在一個int類型的數(shù)組中,要求按從小到大排序輸出,采用冒泡排序算法實現(xiàn)排序。
冒泡排序的算法:
首先從數(shù)組的最左邊開始,取出下標(biāo)為0的數(shù)據(jù)和下標(biāo)為1的數(shù)據(jù)進行比較,如果左邊的數(shù)據(jù)大于右邊的數(shù)據(jù),則進行交換,否而不進行交換。
接下來右移一個位置,取出下標(biāo)為1數(shù)據(jù)和下標(biāo)為2的數(shù)據(jù)進行比較,如果左邊的數(shù)據(jù)大于右邊的數(shù)據(jù),則進行交換,否而不進行交換。以此類推,最終將最大的數(shù)移動到最右邊,就像氣泡冒出水面,這就是冒泡排序算法。
使用冒泡排序?qū)nt類型的一維數(shù)組進行排序程序如下:
冒泡排序效率較低,因為每一次比較都可能發(fā)生數(shù)據(jù)的移動。
選擇排序
選擇排序?qū)γ芭菖判蜻M行了改進,使交換次數(shù)減少,但比較次數(shù)仍然沒有減少。假設(shè)有6個數(shù)字12,21,3,45,7,1在一個int類型的數(shù)組中,要求按從小到大排序輸出,采用選擇排序。
選擇排序的算法:
先從左端開始,找到下標(biāo)為0的元素,然后和后面的元素依次比較,如果找到了比下標(biāo)0小的元素,那么在使用此元素,再接著依次比較,直到比較完成所有的元素,最后把最小的元素和下標(biāo)為0的元素位置交換。第二次循環(huán)從下標(biāo)為1的元素開始,如果找到比下標(biāo)為1的元素還小的元素,進行交換。
數(shù)組相關(guān)工具類Arrays
Sun提供了針對數(shù)組操作的工具類java.util.Arrays。如排序、二分查找等方法。
對int類型的數(shù)組進行排序然后使用二分法對數(shù)組元素進行查找程序如下:
以上就是長沙達內(nèi)教育Java培訓(xùn)機構(gòu)小編介紹的“面試管經(jīng)常提問到的Java數(shù)組排序問題”的內(nèi)容,希望對大家有幫助,如有疑問,請在線咨詢,有專業(yè)老師隨時為你服務(wù)。
相關(guān)推薦
最新最全java面試題及答案(初級到高級)
史上最全的中高級JAVA工程師面試題及答案匯總
Java高級開發(fā)工程師面試題
2019史上最全java面試題題庫大全800題
哪有資深java工程師面試題