算法-归并排序
来源:互联网 发布:efm32编程 编辑:程序博客网 时间:2024/06/09 19:33
import java.util.Random;public class MergeSort {//归并public static void merge(int a[],int left,int mid,int right){int i=left;int j=mid+1;int k=0;int temp []=new int[right-left+1];//把两个数组归并while(i<=mid&&j<=right){if(a[i]<=a[j]){temp[k++]=a[i++];}else{temp[k++]=a[j++];}}//把左边的数组加入到temp里面while(i<=mid){temp[k++]=a[i++];}//把右边的数组加入到temp里面while(j<=right){temp[k++]=a[j++];}//把temp数组复制到a数组中for (int k2 = 0; k2 < temp.length; k2++){ a[k2 + left] = temp[k2];} }public static int[] mergeSort(int arr[], int left,int right){int mid=(left+right)/2;if(left<right){mergeSort(arr,left,mid);mergeSort(arr, mid+1, right);merge(arr,left,mid,right);}return arr;}public static void main(String args[]){int a[]=new int[20];Random random=new Random();for(int i=0;i<a.length;i++){a[i]=random.nextInt(100);}int arr[]=mergeSort(a,0,a.length-1);for(int i=0 ;i<arr.length;i++){System.out.print(arr[i]+"\t");}System.out.println();}}
0 0
- 排序算法-归并排序
- 排序算法------归并排序
- 排序算法-归并排序
- 排序算法---归并排序
- 排序算法--归并排序
- 排序算法--归并排序
- 排序算法-归并排序
- 排序算法--归并排序
- 排序算法--归并排序
- 排序算法:归并排序
- 排序算法-归并排序
- 排序算法:归并排序
- 【排序算法】归并排序
- 排序算法--归并排序
- 排序算法-归并排序
- 排序算法--归并排序
- 排序算法:归并排序
- 【排序算法】归并排序
- Eclipse 插件 ModelGoon 安装(含Eclipse代理设置)
- ios入门攻略 02篇 C语言基础【常量、变量、scanf函数、算术运算】
- JAVA基础学习之Http(含JSON)网络编程
- C语言中的常量
- 最小覆盖圆算法思考
- 算法-归并排序
- Ubuntu vi 上下左右变ABCD问题解决方法
- C语言中的变量
- ListView控件的使用
- HDU-1058-Humble Numbers-暴力贪心
- 软件功能测试基础知识
- xcode7.0 打包是报错处理
- 格式化控制符
- Visual studio一些很基本的功能