亚洲 国产精品 日韩-亚洲 激情-亚洲 欧美 91-亚洲 欧美 成人日韩-青青青草视频在线观看-青青青草影院

千鋒教育-做有情懷、有良心、有品質的職業教育機構

手機站
千鋒教育

千鋒學習站 | 隨時隨地免費學

千鋒教育

掃一掃進入千鋒手機站

領取全套視頻
千鋒教育

關注千鋒學習站小程序
隨時隨地免費學習課程

當前位置:首頁  >  千鋒問問  > 歸并算法java實現方法怎么操作

歸并算法java實現方法怎么操作

匿名提問者 2023-10-16 15:45:42

歸并算法java實現方法怎么操作

推薦答案

  遞歸實現,遞歸是最常見的歸并排序實現方式。這個方法將數組分為左右兩部分,分別對左右兩部分進行遞歸排序,然后再合并它們。

Java教程

  public class MergeSort {

  public static void merge(int[] arr, int left, int mid, int right) {

  int n1 = mid - left + 1;

  int n2 = right - mid;

  int[] L = new int[n1];

  int[] R = new int[n2];

  for (int i = 0; i < n1; i++) {

  L[i] = arr[left + i];

  }

  for (int j = 0; j < n2; j++) {

  R[j] = arr[mid + 1 + j];

  }

  int i = 0, j = 0, k = left;

  while (i < n1 && j < n2) {

  if (L[i] <= R[j]) {

  arr[k] = L[i];

  i++;

  } else {

  arr[k] = R[j];

  j++;

  }

  k++;

  }

  while (i < n1) {

  arr[k] = L[i];

  i++;

  k++;

  }

  while (j < n2) {

  arr[k] = R[j];

  j++;

  k++;

  }

  }

  public static void mergeSort(int[] arr, int left, int right) {

  if (left < right) {

  int mid = left + (right - left) / 2;

  mergeSort(arr, left, mid);

  mergeSort(arr, mid + 1, right);

  merge(arr, left, mid, right);

  }

  }

  public static void main(String[] args) {

  int[] arr = {12, 11, 13, 5, 6, 7};

  mergeSort(arr, 0, arr.length - 1);

  System.out.println("Sorted array:");

  for (int num : arr) {

  System.out.print(num + " ");

  }

  }

  }

 

  這個方法使用遞歸將數組分成左右兩半,然后分別對左右兩半進行排序,最后合并左右兩半得到有序數組。

其他答案

  •   迭代實現,迭代方法不使用遞歸,而是使用循環來實現歸并排序。它需要使用一個輔助數組來保存中間結果,以避免頻繁創建和銷毀數組。

      public class MergeSort {

      public static void merge(int[] arr, int left, int mid, int right) {

      int n1 = mid - left + 1;

      int n2 = right - mid;

      int[] L = new int[n1];

      int[] R = new int[n2];

      for (int i = 0; i < n1; i++) {

      L[i] = arr[left + i];

      }

      for (int j = 0; j < n2; j++) {

      R[j] = arr[mid + 1 + j];

      }

      int i = 0, j = 0, k = left;

      while (i < n1 && j < n2) {

      if (L[i] <= R[j]) {

      arr[k] = L[i];

      i++;

      } else {

      arr[k] = R[j];

      j++;

      }

      k++;

      }

      while (i < n1) {

      arr[k] = L[i];

      i++;

      k++;

      }

      while (j < n2) {

      arr[k] = R[j];

      j++;

      k++;

      }

      }

      public static void mergeSort(int[] arr) {

      int n = arr.length;

      for (int currentSize = 1; currentSize < n; currentSize *= 2) {

      for (int left = 0; left < n - 1; left += 2 * currentSize) {

      int mid = Math.min(left + currentSize - 1, n - 1);

      int right = Math.min(left + 2 * currentSize - 1, n - 1);

      merge(arr, left, mid, right);

      }

      }

      }

      public static void main(String[] args) {

      int[] arr = {12, 11, 13, 5, 6, 7};

      mergeSort(arr);

      System.out.println("Sorted array:");

      for (int num : arr) {

      System.out.print(num + " ");

      }

      }

      }

      這個方法使用循環迭代來排序數組,避免了遞歸調用,同時利用了一個輔助數組進行合并操作。

  •    自底向上的迭代實現,這種實現方式也是使用迭代,但與上述方法略有不同,它是自底向上的迭代,從單個元素開始,逐漸增加合并的區間大小。

      ```java

      public class MergeSort {

      public static void merge(int[] arr, int left, int mid, int right) {

      int n1 = mid - left + 1;

      int n2 = right - mid;

      int[] L = new int[n1];

      int[] R = new int[n2];

      for (int i = 0; i < n1; i++) {

      L[i] = arr[left + i];

      }

      for (int j = 0; j < n2; j++) {

      R[j] = arr[mid + 1 + j];

      }

      int i = 0, j = 0, k = left;

      while (i < n1 && j < n2) {

      if (L[i] <= R[j]) {

      arr[k] = L[i];

      i++;

      } else {

      arr[k] = R[j];

      j++;

      }

      k++;

      }

      while (i < n1) {

      arr[k] = L[i];

      i++;

      k++;

      }

      while (j < n2) {

      arr[k] = R[j];

      j++;

      k++;

      }

      }

      public static void mergeSort(int[] arr) {

      int n = arr.length;

      for (int currentSize = 1; currentSize < n; currentSize *= 2) {

一二三四在线观看视频韩国 | AⅤ成年女人毛片免费观看| 国产精品毛片A∨一区二区三区| 性色欲情网站IWWW九文堂| 久久夜色精品国产噜噜AV| 成 年 人 黄 色 大 片大 全| 亚欧成人中文字幕一区| 日产精品码2码三码四码区 | 久久精品国产99精品最新| CHINESE老太性视频BBW| 无码一区二区三区视频| 久久永久免费人妻精品我不卡 | 私人小影院久久久影院| 久久精品国产亚洲AV果冻传媒| 国产成人无码AⅤ| 中文字幕乱码亚洲无线码| 色综合久久蜜芽国产精品| 久久99国产精品久久99软件| 办公室双腿打开揉弄高潮淑芬| 亚洲AV无码潮喷在线观看| 欧美 狠狠操 888| 国产一二三四区中| H无码动漫在线观看人| 亚洲AV无码乱码国产精品| 欧美丰满熟妇乱XXXXX流白浆| 国产免费无码一区二区三区| 中文字幕熟妇人妻在线视频| 夜夜精品无码一区二区三区| 斯诺克直播在线观看高清直播| 人妻丰满熟妇ΑⅤ无码区| 精品乱码久久久久久中文字幕| 成都私人家庭影院| 阿娇张开两腿实干13分钟完整版| 亚洲精品无码AV专区最新| 人妻无码一区二区19P| 久久精品国产亚洲AV大全| 精品国产一区二区三区吸毒| 疯狂做受XXXⅩ高潮高潮按摩| 曰本真人性做爰ⅩXX| 无码综合天天久久综合网色吧影院| 色婷婷综合久久久久中文字幕 | 天天摸夜夜添狠狠添婷婷| 男女猛烈激情XX00免费视频| 国内精品伊人久久久久影院对白| 成人无码区免费AⅤ片在线观看| 野花日本中文免费完整版4| 天堂资源とまりせっくす| 天天做天天爱天天综合网2021| 熟女内射婷婷直播| 图片区小说区激情区偷拍区| 欧美伊人久久大香线蕉综合| 久久久久久AV无码免费网站下载 | 日本水蜜桃身体乳的美白效果| 日本熟妇色XXXXX日本妇奷| 色狠狠色狠狠综合天天| 我和公发生了性关系视频| 人鲁交YAZHONGHU| 老太性开放BBWBBWBBW| 国产性生交XXXXX免费| 成人AV片在线观看免费| 中文字幕AV无码一二三区电影| 亚洲成A人V在线蜜臀| 铜铜铜铜铜铜铜好多水| 香蕉97超级碰碰碰视频| 色综合天天无码网站| 妺妺窝人体色WWW在线小说| 欧美人与动XXXXZ0OZ| 久久久久久精品精品免费| 久久熟妇人妻午夜寂寞影院| 国产无遮挡又黄又爽免费吃瓜视频| 绯色AV一区二区三区蜜臀| WWW.射射爽射射爽射射爽| 中国熟妇牲交视频| JAPANESETUBE日本护士高潮| 城中村快餐嫖老妇对白| 99国内精品久久久久久久漫画| 亚洲中文字幕无码AV永久| 亚洲AV永久无码精品少妇| 挺进朋友人妻的身体里| 性中国少妇熟妇XXXX农村| 亚洲一线产区二线产区区别在哪 | 国产精品亚洲VA在线| 岛国无码AV不卡一区二区| ⅩXXⅩ内射意大利老妇| 春色校园亚洲愉拍自拍| 国产免费一区二区三区在线观看 | 久久久不卡国产精品一区二区| 黑人大雞巴XXOO视频| 国产欧美另类精品久久久| 村长压在小雪身上耕耘视频| 国产美女自卫慰黄网站| 久久综合激的五月天的歌词| 欧美一区二区三区红桃小说| 无码精品人妻一区二区三区涩爱| 天美传媒MV高清版在线观看| 色哟哟在线视频精品一区| 亚洲AV秘 无码一区二区三密桃| 夜夜春夜夜爽一区二区三区| 成人毛片18女人毛片免费看快色| 国产又色又刺激高潮免费视频试看| 老湿机69福利区无码| 日韩在线观看视频一区二区| 色婷婷精品亚洲AⅤ| 亚洲成AⅤ人的天堂在线观看女人| 真人做受试看120分钟小视频| 在线看片无码永久免费AV| 一边做一边潮喷30P| 车后车座的疯狂的做的视频| 黑人巨大粗物挺进了少妇| 娇小萝被两个黑人用半米长| 精品人妻少妇一区二区三区夜夜嗨| 欧美成人性生免费看的| 人妻aⅴ无码一区二区色戒| 小SAO货边洗澡边CAO你| 中文字幕日本最新乱码视频 | 人善交XUANWEN200| 搡老熟女老女人HHD| 亚洲热妇无码AV在线播放| 亚洲综合色AAA成人无码| 爱丫爱丫影院在线| 疯狂做受XXXX高潮欧美日本| 久久国产精品77777| 老牛嫩草一二三产品区别| 色综合色综合久久综合频道88| 亚洲一卡2卡3卡4卡精品分类| 永久免费观看午夜成人网站| 97婷婷狠狠成为人免费视频| 国产精品爽爽V在线观看无码| 韩国无码AV片在线观看网站| 欧美人交A欧美精品AV一区| 亚洲VA成无码人在线观看| 夜夜添无码一区二区三区| 赤裸羔羊Ⅲ致命快感| 久久久久亚洲AV无码网站| 拧花蒂尿用力按凸起喷水尿AV| 人妻无码一区二区三区久 | 边做边爱边吃奶叫床的动态图 | 无码一区二区三区AV免费| 99麻豆久久久国产精品免费 | 久久无码中文字幕免费影院蜜桃| 婷婷成人综合激情在线视频播放 | 把老师摁在黑板上做了一节课作文| 久久99精品久久水蜜桃| 无码精品人妻AV一区二区三区| ASS鲜嫩鲜嫩PICS| 国产AV无码专区亚洲AV麻豆| 国产一区二区精品久久岳| 秋霞电影院午夜无码中文| 亚洲人成电影网站色WWW| 国产激情大臿免费视频| 久久99精品久久久久久久清纯| 特殊重囗味SM在线观看无码| BBOX撕裂BASS后门BD| 久久久久久精品免费久久18| 无码专区—VA亚洲V专区VR| 锕锕锕锕锕锕好爽视频软件| 久久久久国色AV免费观看性色| 午夜伦伦电影理论片大片| 伊人久久大香线蕉AⅤ色 | 看全色黄大色大片免费久久| 人妻无码一区二区三区久| 亚洲综合一区国产精品| 国产最大成人亚洲精品| 男生J桶进女人P又色又爽又黄| 亚洲乱亚洲乱妇无码麻豆| CHINA真实VIDEOS另类| 久久亚洲欧美国产精品| 亚洲成在人线AV中文字幕喷水| 国产精品高潮呻吟AV久久动漫 | 色翁荡息又大又硬又粗又爽| 99久久免费精品高清特色大片| 久久亚洲AV无码西西人体| 亚洲AV无码一区二区三区在线观| 非洲黑人狂躁日本妞| 日本精品少妇一区二区三区| 亚洲AV永久无码精品三区在线4| 国产成年无码久久久久毛片| 久久中文字幕AV一区二区不卡| 亚洲另类无码一区二区三区| 国产亚洲成AV人片在线观看导航| 玩弄JAPAN白嫩少妇HD| 成人性生交大片免费看中文| 欧美一级一片内射欧美美妇3p| 中文字幕无码不卡一区二区三区| 久久久久久精品免费S| 亚洲色成人WWW永久网站| 丁香狠狠色婷婷久久综合| 屁屁影院CCYY备用地址| 亚洲精品国产欧美一二区| 国产真实伦在线观看| 无人区一线二线三线乱码| 国产成人综合亚洲AV| 天天天天做夜夜夜夜做无码| 疯狂做爰XXXⅩ高潮69短| 三更2饺子截取一小段| 父债子偿BY画崖海棠| 四川50岁熟妇大白屁股真爽| 高中女无套中出17P| 天天躁狠狠躁狠狠躁性色AV| 国产成人亚洲综合无码DVD|