欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

利用java怎么實現(xiàn)一個歸并排序算法-創(chuàng)新互聯(lián)

本篇文章給大家分享的是有關(guān)利用java 怎么實現(xiàn)一個歸并排序算法,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

蛟河ssl適用于網(wǎng)站、小程序/APP、API接口等需要進行數(shù)據(jù)傳輸應用場景,ssl證書未來市場廣闊!成為創(chuàng)新互聯(lián)的ssl證書銷售渠道,可以享受市場價格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:18980820575(備注:SSL證書合作)期待與您的合作!

 歸并排序算法,顧名思義,是一種先分再合的算法,其算法思想是將要排序的數(shù)組分解為單個的元素,每個元素就是一個單個的個體,然后將相鄰的兩個元素進行從小到大或從大到小的順序排序組成一個整體,每個整體包含一到兩個元素,然后對相鄰的整體繼續(xù)“合”并,因為每個整體都是排過序的,因而可以采用一定的算法對其進行合并,合并之后每個整體包含三到四個元素,繼續(xù)對相鄰的整體進行合并,直到所有的整體都合并為一個整體,最終得到的整體就是將原數(shù)組進行排序之后的結(jié)果。

       對于相鄰的整體,其合并的思想是每次都取兩個整體(假設其實按升序排序的)中最小的元素放到一個新數(shù)組中,依次循環(huán),最終兩個整體中的元素都被取完即可得到一個按升序排序的整體。該合并過程就像有兩個升序排序的牌堆A和B(如圖所示),每次從最頂上取出一個元素放到牌堆C中:

利用java 怎么實現(xiàn)一個歸并排序算法

       從圖中可以看出,對于兩個相鄰的整體A和B,其內(nèi)的元素都是按升序排序的,現(xiàn)在有一個臨時數(shù)組C,然后對A和B頂部的兩個元素進行比較,取出較小的一個元素放入C中,對于取出元素的整體,其指向元素的下標下移一位,繼續(xù)取出兩個整體中頂部元素較小的一個放入C中,依次循環(huán),當某個整體元素取完之后直接將另一個整體的元素都移入C中。對于C這個整體,其就是經(jīng)過A和B排序而得到的,由于A和B是相鄰的兩個整體,因而,最后只需要將C中的元素復制到A和B組成的一個共同整體中即可,這樣也就達到了將A和B合并的同時進行排序的目的。

       以下是歸并排序的具體算法:

public class MergeSort {
 public static <AnyType extends Comparable<&#63; super AnyType>> void mergeSort(AnyType[] arr) {
  AnyType[] tmp = ((AnyType[]) new Comparable[arr.length]);
  mergeSort(arr, 0, arr.length - 1, tmp);
 }

 private static <AnyType extends Comparable<&#63; super AnyType>> void mergeSort(AnyType[] arr, int start, int end, AnyType[] tmp) {
  if (start < end) {
   int mid = (start + end) >> 1;
   mergeSort(arr, start, mid, tmp);
   mergeSort(arr, mid + 1, end, tmp);
   merge(arr, start, mid, end, tmp);
  }
 }

 private static <AnyType extends Comparable<&#63; super AnyType>> void merge(AnyType[] arr, int start, int mid, int end, AnyType[] tmp) {
  int i = start, j = mid + 1, k = start;
  while (i <= mid && j <= end) {
   if (arr[i].compareTo(arr[j]) < 0) {
    tmp[k++] = arr[i++];
   } else {
    tmp[k++] = arr[j++];
   }
  }

  while (i <= mid) {
   tmp[k++] = arr[i++];
  }

  while (j <= end) {
   tmp[k++] = arr[j++];
  }

  for (int m = start; m <= end; m++) {
   arr[m] = tmp[m];
  }
 }
}

標題名稱:利用java怎么實現(xiàn)一個歸并排序算法-創(chuàng)新互聯(lián)
文章地址:http://aaarwkj.com/article10/cchido.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設計公司、全網(wǎng)營銷推廣、面包屑導航、響應式網(wǎng)站、服務器托管網(wǎng)站制作

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

小程序開發(fā)
国产免费很黄很色视频| 亚州精品乱码久久电影| 久久不卡高清免费av| 国产三级成人在线视频| 国产精品亚洲伦理在线| 国产91精品成人在线观看| 国产午夜草莓视频在线观看| 久久久久久国产精品亚洲| 爱我久久视频网免费视频| 亚洲品质自拍在线观看 | 人人妻人人澡人人爽精品日本| 免费黄色福利网址大片| 日本一区不卡二区高清| 91人妻互换一区二区| 国产精品福利手机在线观看| 人妻日韩字幕一区二区| 久久日韩人妻中文字幕| 亚洲中文字幕婷婷在线| 91亚洲熟妇国产熟妇肥婆| 国产特级黄色片免费看| 国产精品久久久久精品三级中文国| 天天操夜夜夜夜夜操| 亚洲一区二区三区蜜桃av| 国产亚洲欧美精品在线观看| 18岁未成年禁止观看视频| 国产亚洲精品a久久7777| 成人免费在线视频不卡| 久久女婷五月综合色啪色老板| 免费在线观看污污污网站| 亚洲另类熟女国产精品老| 久久精品国产亚洲av麻豆花絮 | 精品在线中文字幕不卡| 中文字幕久久一区二区三区| 哈昂~不要啊在线观看| 亚洲中国av一区二区| 亚洲乱码中文字幕在线观看| 少妇人妻偷人精品系列| 日韩精品在线观看天堂| 免费高清视频一区二区在线观看 | 中文字幕久久av一区二区| 免费成人激情在线电影|