面試經(jīng)常提問到的Java數(shù)組排序問題

面試經(jīng)常提問到的Java數(shù)組排序問題

長沙達內(nèi)教育      2022-04-19 05:00:01     3

面試經(jīng)常提問到的Java數(shù)組排序問題,  數(shù)組冒泡排序  假設(shè)有5個數(shù)字12,21,6,8,15在一個int類型的數(shù)組中,要求按從小到大排序輸出,采用冒泡排序算法實現(xiàn)排序

課程價格 請咨詢

上課時段: 授課校區(qū):

詳細(xì)介紹


  數(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工程師面試題


培訓(xùn)啦提醒您:交易時請核實對方資質(zhì),對于過大宣傳或承諾需謹(jǐn)慎!任何要求預(yù)付定金、匯款等方式均存在風(fēng)險,謹(jǐn)防上當(dāng)。