卖逼视频免费看片|狼人就干网中文字慕|成人av影院导航|人妻少妇精品无码专区二区妖婧|亚洲丝袜视频玖玖|一区二区免费中文|日本高清无码一区|国产91无码小说|国产黄片子视频91sese日韩|免费高清无码成人网站入口

使用Java實(shí)現(xiàn)歸并排序

歸并排序是一種基于遞歸策略的排序算法,它采用分治法,將已經(jīng)排好序的數(shù)組依次歸并成一個(gè)數(shù)組。在遞歸過程中,每個(gè)分組只有一個(gè)元素時(shí)才開始回溯。接下來,我們將使用Java編寫歸并排序的代碼。 歸并排序算法

歸并排序是一種基于遞歸策略的排序算法,它采用分治法,將已經(jīng)排好序的數(shù)組依次歸并成一個(gè)數(shù)組。在遞歸過程中,每個(gè)分組只有一個(gè)元素時(shí)才開始回溯。接下來,我們將使用Java編寫歸并排序的代碼。

歸并排序算法流程

歸并排序的執(zhí)行流程如下:

  1. 逐步遞歸,直到每個(gè)分組只有一個(gè)元素。
  2. 依次回溯,合并每一對(duì)數(shù)組。

創(chuàng)建Java項(xiàng)目

首先,在MyEclipse中創(chuàng)建一個(gè)Java項(xiàng)目。請(qǐng)按照以下步驟進(jìn)行操作:

  1. 選擇File -gt; New -gt; Java Project。
  2. 在彈出窗口中輸入項(xiàng)目名稱,并點(diǎn)擊Finish。
  3. 右擊項(xiàng)目路徑下的src文件夾,選擇New -gt; Class,輸入包名與類名,創(chuàng)建排序工具類。

實(shí)現(xiàn)歸并函數(shù)

我們首先需要實(shí)現(xiàn)對(duì)已經(jīng)排序的數(shù)組進(jìn)行歸并的函數(shù)。請(qǐng)按照以下代碼進(jìn)行操作:

public static void merge(int a[], int start, int middle, int end){
    // 采用令牌機(jī)制,對(duì)兩部分?jǐn)?shù)組進(jìn)行合并
    // 第一步,將兩部分分別復(fù)制到新的數(shù)組中
    // 然后依次對(duì)兩個(gè)數(shù)組值的大小進(jìn)行判斷,循環(huán)地插入原數(shù)組中
    // 接下來只需要遞歸調(diào)用這個(gè)過程即可,遞歸結(jié)束標(biāo)志為start  end
}

測(cè)試歸并排序

最后,我們可以對(duì)數(shù)組[5, 2, 4, 7, 1, 3, 2, 6]進(jìn)行歸并排序的測(cè)試。請(qǐng)按照以下代碼進(jìn)行操作:

int[] array  {5, 2, 4, 7, 1, 3, 2, 6};
mergeSort(array, 0, array.length - 1);
((array));

運(yùn)行以上代碼,輸出的結(jié)果應(yīng)該為[1, 2, 2, 3, 4, 5, 6, 7],說明我們的歸并排序算法是正確的。

標(biāo)簽: