1. gzyueqian
      18529173453

      粵嵌科技談:java語言開發(fā)中的內(nèi)部排序機制

      更新時間: 2019-06-26 15:35:12來源: 粵嵌教育瀏覽量:5442

             IT行業(yè)一直都是高薪的行業(yè),高薪行業(yè)也是大家都向往的行業(yè),高薪就意味著有高的挑戰(zhàn)。很多的學(xué)員在學(xué)習(xí)java的時候都是不知道java語言中的內(nèi)部排序機制是怎么排序的。然后在學(xué)習(xí)的過程中就會有很多的問題出現(xiàn),下面粵嵌科技的講師就給大家講解下java語言中的內(nèi)部排序機制是怎么排序的。
        數(shù)組的操作可以使用java提供的工具類Arrays,其中Arrays.sort()方法用于數(shù)組的排序。

        基本數(shù)據(jù)類型數(shù)組的操作,使用經(jīng)過優(yōu)化的快速排序算法

        當數(shù)組的規(guī)模較小時,直接插入排序的比較次數(shù)并不會比快排或者歸并多多少,其效率反而不如簡單排序算法,所以在數(shù)組規(guī)模小于7時,使用直接插入排序,

        當數(shù)組規(guī)模較大時,合理的選擇快排的樞軸元素,如在規(guī)模小于40時,在數(shù)組的首,中,尾三個位置上的數(shù),取中間大小的數(shù)做樞軸;在數(shù)組規(guī)模大于40時,從數(shù)組中取位置均勻分布的9個數(shù),然后每三個數(shù)一組取中間數(shù),三個中間數(shù)再取中間數(shù)。確定樞軸后,與數(shù)組的個元素交換,之后的快排與普通快排一樣。

        當數(shù)組中有大量重復(fù)元素時,選擇重復(fù)元素作為樞軸,然后兩個端各設(shè)置兩個工作指針low、high,left、right用于始終指向要交換的元素位置,如5,2,5,6,4,3,5,1,5,7

        從high開始判斷,low <= high,若high位置的元素 >= 基準元素high–,同時若high位置的元素 == 基準元素,high位置的元素與right位置的元素交換,同時right–,繼續(xù)直到high位置的元素 < 基準元素。

        從low開始判斷,low <= high,若low位置的元素 <= 基準元素low++,同時若low位置的元素 = 基準元素,low位置的元素與left位置的元素交換,同時left++,繼續(xù)直到low位置的元素 > 基準元素。

        low、high位置的元素交換,同時low++、high–,然后再從high開始繼續(xù)上面的過程,將重復(fù)的元素至于序列的兩端,中間的序列分成了兩部分,左面的為小于基準元素的,右面的為大于基準元素的,如5,5,2,1,4,3,7,6,5,5,此時low在7位置,high在3位置。

        將兩端重復(fù)的元素都交換到中間后,對兩端不等的元素使用快排,左側(cè)外循環(huán)從下標0開始判斷,若等于樞軸進入內(nèi)循環(huán),內(nèi)循環(huán)從下標low - 1開始向前找不等于樞軸的,找到交換,直到外循環(huán)遇到不等于樞軸的退出;右側(cè)外循環(huán)從下標n - 1開始判斷,若等于樞軸進入內(nèi)循環(huán),內(nèi)循環(huán)從下標high + 1開始向后找不等于樞軸的,找到交換,直到外循環(huán)遇到不等于樞軸的退出。

        引用數(shù)據(jù)類型數(shù)組的排序,使用經(jīng)過優(yōu)化的歸并排序算法。

        當數(shù)組規(guī)模j較小時,使用直接插入排序。

        當屬組規(guī)模較大時,使用歸并排序,且當合并的兩個有序序列中,低子序列的元素小于高子序列的元素時,無序執(zhí)行合并算法,這個可以在merge算法里判斷。

        學(xué)習(xí)java語言開發(fā)的話還是要先了解下java開發(fā)語言的內(nèi)部排序機制的排序的?;浨犊萍加袑I(yè)的導(dǎo)師團隊,引領(lǐng)行業(yè)的先進課程,全程專業(yè)導(dǎo)師指導(dǎo),讓每位學(xué)員可以更快的掌握想學(xué)的知識,想要了解更多關(guān)于java培訓(xùn)的課程歡迎對我們公司進行實地考察。也可以點擊文章下面的獲取試聽資格按鈕來獲取我們的java免費課程試聽。

      免費預(yù)約試聽課

      亚洲另类欧美综合久久图片区_亚洲中文字幕日产无码2020_欧美日本一区二区三区桃色视频_亚洲AⅤ天堂一区二区三区

      
      

      1. 欧美性爱专区在线观看 | 这里精品国产清自在天天线 | 亚洲精品动漫在线线观看人 | 在线看片免费99 | 欲求不满放荡的女老板bd中文 | 欧美制服丝袜另类日韩中文字幕 |