归并排序相关题目(待编辑)
生活随笔
收集整理的這篇文章主要介紹了
归并排序相关题目(待编辑)
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
- 315
- 327
- 493,
打卡,典型的不能再典型的歸并排序?qū)崿F(xiàn),類似的逆序?qū)Φ念}目有如下:315(和本題一樣),327,493, 做完這三道相信歸并排序的理解會更加深入
1:歸并排序
package SortMerge;import java.util.Arrays;public class SortMerge {public static void main(String[] args) {int[] arr = {1, 7, 4, 9, 3, 5, 6, 2};int[] temp = new int[arr.length];mergeSort(arr, 0, arr.length - 1, temp);System.out.println(Arrays.toString(arr));}public static void mergeSort(int[] arr, int left, int right, int[] temp) {if (left < right) {int middle = (left + right) / 2;mergeSort(arr, left, middle, temp);mergeSort(arr, middle + 1, right, temp);merge(arr, left, middle, right, temp);}}public static void merge(int[] arr, int left, int middle, int right, int[] temp) {int i = left, j = middle + 1, res = 0;while (i <= middle && j <= right) {if (arr[i] <= arr[j]) {temp[res++] = arr[i++];} else {temp[res++] = arr[j++];}}while (i <= middle) {temp[res++] = arr[i++];}while (j <= right) {temp[res++] = arr[j++];}res = 0;int tempLeft = left;while (tempLeft <= right) {arr[tempLeft++] = temp[res++];}System.out.println(Arrays.toString(temp));} } 與50位技術(shù)專家面對面20年技術(shù)見證,附贈技術(shù)全景圖總結(jié)
以上是生活随笔為你收集整理的归并排序相关题目(待编辑)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 多线程基础知识
- 下一篇: 服务端第三次课程:面向切面编程AOP