亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

java 基本算法之歸并排序?qū)嵗a

 更新時(shí)間:2017年05月04日 08:36:06   投稿:lqh  
這篇文章主要介紹了java 基本算法之歸并排序?qū)嵗a的相關(guān)資料,需要的朋友可以參考下

java 基本算法之歸并排序?qū)嵗a

原理:歸并(Merge)排序法是將兩個(gè)(或兩個(gè)以上)有序表合并成一個(gè)新的有序表,

     * 即把待排序序列分為若干個(gè)子序列,每個(gè)子序列是有序的。
     * 然后再把有序子序列合并為整體有序序列。

實(shí)例代碼:

public class MergeSort {

  /**
   * 
   *
   *
   * @param args
   */
  public static void main(String[] args) {
    int a[] = { 49, 38, 65, 97, 76, 13, 27, 49, 78, 34, 12, 64, 5, 4, 62,
        99, 98, 54, 56, 17, 18, 23, 34, 15, 35, 25, 53, 51 };

    sort(a, 0, a.length - 1);
    System.out.println(Arrays.toString(a));

  }

  public static void sort(int[] data, int left, int right) {
    if (left < right) {
      // 找出中間索引
      int center = (left + right) / 2;
      // 對(duì)左邊數(shù)組進(jìn)行遞歸
      sort(data, left, center);
      // 對(duì)右邊數(shù)組進(jìn)行遞歸
      sort(data, center + 1, right);
      // 合并
      merge(data, left, center, right);
    }

  }

  public static void merge(int[] data, int left, int center, int right) {
    int[] tmpArr = new int[data.length];
    int mid = center + 1;
    // third記錄中間數(shù)組的索引
    int third = left;
    int tmp = left;
    while (left <= center && mid <= right) {
      // 從兩個(gè)數(shù)組中取出最小的放入中間數(shù)組
      if (data[left] <= data[mid]) {
        tmpArr[third++] = data[left++];
      } else {
        tmpArr[third++] = data[mid++];
      }

    }

    // 剩余部分依次放入中間數(shù)組
    while (left <= center) {
      tmpArr[third++] = data[left++];
    }
    while (mid <= right) {
      tmpArr[third++] = data[mid++];
    }

    // 將中間數(shù)組中的內(nèi)容復(fù)制回原數(shù)組
    while (tmp <= right) {
      data[tmp] = tmpArr[tmp++];
    }
    System.out.println(Arrays.toString(data));
  }

}

感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!

相關(guān)文章

  • 在項(xiàng)目中直接使用hystrix的流程分析

    在項(xiàng)目中直接使用hystrix的流程分析

    最近由于一些背景原因,需要在項(xiàng)目中需要對(duì)接口進(jìn)行限流。所以就考慮到了直接使用Hystrix,但是呢,又不想直接使用SpringCloud,而是直接引入原生,現(xiàn)在發(fā)現(xiàn)挺好用的,所以記錄下來,需要的朋友參考下吧
    2022-06-06
  • 了解java中對(duì)象基礎(chǔ)Object類

    了解java中對(duì)象基礎(chǔ)Object類

    本文主要講解了java中對(duì)象基礎(chǔ)Object類,文中運(yùn)用大量代碼講解的非常詳細(xì),想學(xué)習(xí)相關(guān)知識(shí)的小伙伴可以參考一下這篇文章
    2021-09-09
  • Java數(shù)組轉(zhuǎn)List及Stream的基本方法使用方法

    Java數(shù)組轉(zhuǎn)List及Stream的基本方法使用方法

    Java?的?Stream?流操作是一種簡潔而強(qiáng)大的處理集合數(shù)據(jù)的方式,允許對(duì)數(shù)據(jù)進(jìn)行高效的操作,如過濾、映射、排序和聚合,這篇文章主要介紹了Java數(shù)組轉(zhuǎn)List及Stream的基本方法使用教程,需要的朋友可以參考下
    2024-08-08
  • SpringBoot內(nèi)部外部配置文件加載順序解析

    SpringBoot內(nèi)部外部配置文件加載順序解析

    這篇文章主要介紹了SpringBoot內(nèi)部外部配置文件加載順序解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-07-07
  • Java中的LinkedHashMap源碼分析

    Java中的LinkedHashMap源碼分析

    這篇文章主要介紹了Java中的LinkedHashMap源碼分析,LinkedHashMap是HashMap的子類,所以基本的操作與hashmap類似,不過呢,在插入、刪除、替換key-value對(duì)的時(shí)候,需要的朋友可以參考下
    2023-12-12
  • java IO 字節(jié)流詳解及實(shí)例代碼

    java IO 字節(jié)流詳解及實(shí)例代碼

    這篇文章主要介紹了java IO 字節(jié)流詳解及實(shí)例代碼的相關(guān)資料,需要的朋友可以參考下
    2017-03-03
  • 淺析Spring boot 中 logback 配置<springProperty> 讀取application.properties 中的屬性

    淺析Spring boot 中 logback 配置<springPropert

    這篇文章主要介紹了淺析Spring boot 中 logback 配置<springProperty> 讀取application.properties 中的屬性,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-02-02
  • 詳解SpringBoot如何優(yōu)雅的處理免登錄接口

    詳解SpringBoot如何優(yōu)雅的處理免登錄接口

    在項(xiàng)目開發(fā)過程中,會(huì)有很多API接口不需要登錄就能直接訪問,比如公開數(shù)據(jù)查詢之類的,常規(guī)處理方法基本是 使用攔截器或過濾器,攔截需要認(rèn)證的請(qǐng)求路徑,本文介紹一個(gè)更優(yōu)雅的方法自定義注解的方式,文中通過代碼示例介紹的非常詳細(xì),需要的朋友可以參考下
    2024-01-01
  • 關(guān)于ResponseEntity類和HttpEntity及跨平臺(tái)路徑問題

    關(guān)于ResponseEntity類和HttpEntity及跨平臺(tái)路徑問題

    這篇文章主要介紹了關(guān)于ResponseEntity類和HttpEntity及跨平臺(tái)路徑問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-07-07
  • 深入了解Springboot核心知識(shí)點(diǎn)之?dāng)?shù)據(jù)訪問配置

    深入了解Springboot核心知識(shí)點(diǎn)之?dāng)?shù)據(jù)訪問配置

    這篇文章主要為大家介紹了Springboot核心知識(shí)點(diǎn)中的數(shù)據(jù)訪問配置,文中的示例代碼講解詳細(xì),對(duì)我們了解SpringBoot有一定幫助,快跟隨小編一起學(xué)習(xí)一下吧
    2021-12-12

最新評(píng)論