博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
几种排序之归并排序
阅读量:4960 次
发布时间:2019-06-12

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

还是这个老哥写的好:

 

二路合并排序的基本思想是:对于两个有序表合并,初始时, 把含有n个结点的待排序序列看作有n个长度为1的有序子表所组成,将它们依次两两合并,得到长度为2的若干有序子表,再对这些子表进行两两合并,一直重复到长度为n,排序完成。

 

1 package Sort;  2 import java.util.Arrays;  3   4 public class MergeSort {  5       6     public static void mergeSort(int [] arr){  7           8         if(arr ==null||arr.length<2){  9             return ;             10         } 11         sortProcess(arr, 0, arr.length-1); 12     } 13      14     public static void sortProcess(int []arr,int L,int R){ 15         if(L==R){ 16             return; 17         } 18         int mid = L+((R-L)>>1);//等同于(L+R)/2 19         sortProcess(arr, L, mid); 20         sortProcess(arr, mid+1, R); 21         merge(arr,L,mid,R); 22     } 23      24     public static void merge(int []arr,int L,int mid,int R){ 25         int[] help= new int[R-L+1]; 26         int i =0; 27         int p1 = L; 28         int p2 = mid+1; 29         while(p1<=mid && p2<=R){ 30             if(arr[p1]

 

转载于:https://www.cnblogs.com/wangyufeiaichiyu/p/10944210.html

你可能感兴趣的文章
初始化
查看>>
Piggy-Bank(复习完全背包)
查看>>
mongoDb 给表添加+ 删除字段
查看>>
关情纸尾-----OC-Foundation框架中常用的类
查看>>
.net mvc 防止 xss 与 CSRF
查看>>
git-02 下载代码
查看>>
qsort 的用法
查看>>
004--面试之ES6其他常用的功能
查看>>
CURL方式使用代理访问网站
查看>>
php中面向对象的概念
查看>>
npm 更新及做淘宝镜像
查看>>
react:高阶组件wrappedComponent
查看>>
vue: data binding
查看>>
基本控件文档-UIButton属性---iOS-Apple苹果官方文档翻译
查看>>
one2many &&many2many
查看>>
大小端序
查看>>
配置https and http2 local本地开发环境
查看>>
正则表达式
查看>>
DIV+CSS基础培训
查看>>
(转)Grup学习笔记
查看>>