归并排序 java语言
来源:互联网 发布:安装php基础环境搭建 编辑:程序博客网 时间:2024/06/01 20:52
<pre name="code" class="java">/* * 归并排序算法 */public class MergeSort {final static int MAX=0x7FFFFFFF;public static void main(String[] args) {int []a = {5,4,8,7,1,3,2,6,12,13,19,25,45,17};mergeSort(a,0,a.length-1);System.out.print("排序后数组:");for(int i:a) {System.out.print(i+" ");}}private static void mergeSort(int[] a, int p, int r) {if(p < r) {int q = (p+r)/2;mergeSort(a,p,q);mergeSort(a,q+1,r);mergeIn(a,p,q,r);}}private static void mergeIn(int[] a, int p, int q, int r) {int n1=q-p+1;int n2=r-q;int[] L = new int[n1+1];int[] R = new int[n2+1];for(int i=0;i<n1;i++) {L[i]=a[p+i];}for(int i=0;i<n2;i++) {R[i]=a[q+i+1];}L[n1] = MAX;R[n2] = MAX;int i=0,j=0;for(int k=p; k<=r; k++) {if(L[i]<=R[j]) {a[k]=L[i];i++;}else {a[k] = R[j];j++;}}}}
运行结果为:
1 2 3 4 5 6 7 8 12 13 17 19 25 45
0 0
- 归并排序 java语言
- 归并排序 java语言实现
- JAVA语言之归并排序
- 归并排序-java语言描述
- 排序算法之归并排序--Java语言
- 泛型归并排序(java 语言实现)
- 排序算法(Java语言)——归并排序
- 归并排序C语言
- 归并排序C语言
- C语言 归并排序
- java排序--归并排序
- 排序-归并排序-Java
- 归并排序java语言实现--用递归的方法
- 算法入门---java语言实现的归并排序小结
- 数据结构与算法(10)---Java语言实现:归并排序
- 归并排序Java实现
- java归并排序算法
- JAVA归并排序算法
- 插入排序java语言
- MDX按层次查询
- 刷leetcode:Sqrt(x)
- eclipse生成Java注释文档
- 插入排序+冒泡排序+选择排序
- 归并排序 java语言
- Windows下使用pthread
- Linux/windows android adt自带eclipse无法设置ndk路径 jdk sdk ndk等环境配置
- Maven 构建 Struts2 实现 基本 CURD Controller
- Insertion Sort List
- Coursera Machine Learning 学习笔记(十)
- 第二周 项目四-图书馆的书
- JAVA基础(1):封装
- 互联网我来了 -- 1. Node.js 来打个招呼