更新時間:2020-02-17 13:31:03 來源:動力節點 瀏覽2550次
數組冒泡排序
假設有5個數字12,21,6,8,15在一個int類型的數組中,要求按從小到大排序輸出,采用冒泡排序算法實現排序。
冒泡排序的算法:
首先從數組的最左邊開始,取出下標為0的數據和下標為1的數據進行比較,如果左邊的數據大于右邊的數據,則進行交換,否而不進行交換。
接下來右移一個位置,取出下標為1數據和下標為2的數據進行比較,如果左邊的數據大于右邊的數據,則進行交換,否而不進行交換。以此類推,最終將最大的數移動到最右邊,就像氣泡冒出水面,這就是冒泡排序算法。
使用冒泡排序對int類型的一維數組進行排序程序如下:
冒泡排序效率較低,因為每一次比較都可能發生數據的移動。
選擇排序
選擇排序對冒泡排序進行了改進,使交換次數減少,但比較次數仍然沒有減少。假設有6個數字12,21,3,45,7,1在一個int類型的數組中,要求按從小到大排序輸出,采用選擇排序。
選擇排序的算法:
先從左端開始,找到下標為0的元素,然后和后面的元素依次比較,如果找到了比下標0小的元素,那么在使用此元素,再接著依次比較,直到比較完成所有的元素,最后把最小的元素和下標為0的元素位置交換。第二次循環從下標為1的元素開始,如果找到比下標為1的元素還小的元素,進行交換。
數組相關工具類Arrays
Sun提供了針對數組操作的工具類java.util.Arrays。如排序、二分查找等方法。
對int類型的數組進行排序然后使用二分法對數組元素進行查找程序如下:
以上就是動力節點Java培訓機構小編介紹的“面試管經常提問到的Java數組排序問題”的內容,希望對大家有幫助,如有疑問,請在線咨詢,有專業老師隨時為你服務。
相關推薦
0基礎 0學費 15天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習