博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【排序】归并排序
阅读量:4094 次
发布时间:2019-05-25

本文共 1432 字,大约阅读时间需要 4 分钟。

import java.util.Arrays;import java.util.Random;public class MergeSort {    public static void main(String args[]) {        int[] array = fillArray();        split(array, 0, array.length - 1);        System.out.println(Arrays.toString(array));    }    private static int[] fillArray() {        Random random = new Random();        int[] array = new int[100];        for (int i = 0; i < 100; i++) {            array[i] = random.nextInt(1000);        }        return array;    }    public static void split(int[] array, int left, int right) {        if (left >= right) {            return;        }        int mid = (left + right) / 2;        split(array, left, mid);        split(array, mid + 1, right);        merge(array, left, mid, right);    }    private static void merge(int[] array, int left, int mid, int right) {        int len = right - left + 1;        int[] tmp = new int[len];        int i = left;        int j = mid + 1;        int k = 0;        while (i <= mid && j <= right) {            if (array[i] <= array[j]) {                tmp[k++] = array[i++];            } else {                tmp[k++] = array[j++];            }        }        while (i <= mid) {            tmp[k++] = array[i++];        }        while (j <= right) {            tmp[k++] = array[j++];        }        int p = left;        int q = 0;        while (q < k) {            array[p++] = tmp[q++];        }    }}
  • 时间复杂度:O(nlog(n))
  • 空间复杂度:O(log(n))

转载地址:http://bnaii.baihongyu.com/

你可能感兴趣的文章
JSP/Servlet——MVC设计模式
查看>>
使用JSTL
查看>>
Java 8新特性:Stream API
查看>>
管理用户状态——Cookie与Session
查看>>
最受欢迎的前端框架Bootstrap 入门
查看>>
JavaScript编程简介:DOM、AJAX与Chrome调试器
查看>>
通过Maven管理项目依赖
查看>>
通过Spring Boot三分钟创建Spring Web项目
查看>>
Spring的IoC(依赖注入)原理
查看>>
Guava快速入门
查看>>
Java编程基础:static的用法
查看>>
Java编程基础:抽象类和接口
查看>>
Java编程基础:异常处理
查看>>
Java编程基础:了解面向对象
查看>>
新一代Java模板引擎Thymeleaf
查看>>
Spring MVC中使用Thymeleaf模板引擎
查看>>
Spring Boot构建简单的微博应用
查看>>
Spring处理表单提交
查看>>
Spring MVC异常处理
查看>>
Leetcode 1180. Count Substrings with Only One Distinct Letter [Python]
查看>>