- 浏览: 80795 次
文章分类
最新评论
-
bailangfei3344:
自我介绍 -
regionwar:
你好,转化为人为:1、不该加锁的不要加锁:局部变量,单线程占用 ...
关于java锁机制的优化 -
danni505:
希望能交流:
msn:danni-505#hotmail.co ...
关于java锁机制的优化 -
ouspec:
收藏的东西不错。
TOP500 -
willpower:
The idea behind is e-sync IO do ...
Rethink the sync
MergeSort is a sample solution from the idea Dive - and - Conquer.
I show my code below:
java 代码
- public class MergeSort {
- public static void sort(int[] array, int i, int j) {
- if (j-i == 1) {
- if (array[i]>array[j]) {
- int tmp = array[i];
- array[i] = array[j];
- array[j] = tmp;
- }
- } else {
- int mid = (i + j - 1) / 2;
- sort(array, i, mid);
- sort(array, mid+1, j);
- int[] newArray = merge(array, i, mid, mid+1, j);
- int k = 0;
- for (int index = i; index<=j; index++) {
- array[index] = newArray[k];
- k++;
- }
- }
- }
- public static int[] merge(int[] array, int i, int m, int j, int n) {
- int[] newArray = new int[n-i+1];
- int k = 0;
- while ((i<=m) && (j<=n)) {
- if (array[i]<array[j]) {
- newArray[k] = array[i];
- i++;
- k++;
- } else {
- newArray[k] = array[j];
- j++;
- k++;
- }
- }
- if (i>m) {
- for ( ; j<=n; j++) {
- newArray[k++] = array[j];
- }
- } else {
- for ( ; i<=m; i++) {
- newArray[k++] = array[i];
- }
- }
- return newArray;
- }
- public static void main(String[] args) {
- int[] array = {1, 4, 2, 5, 2, 6, 3, 0};
- sort(array, 0, array.length - 1);
- for (int i=0; i<array.length; i++) {
- System.out.print(array[i] + " ");
- }
- }
- }
发表评论
-
字符编码笔记:ASCII,Unicode和UTF-8 (引用)
2009-01-07 10:39 875字符编码笔记:ASCII,Unicode和UTF-8 阮一峰 ... -
How to set up a simple LRU cache using LinkedHash
2008-11-03 18:05 1230How to set up a simple LRU cach ... -
Scalability?
2008-10-07 14:07 760严格上讲,scalability还没有正式定义, 甚至有人觉得 ... -
Cray Reminiscences
2007-08-29 15:54 744Kirk Pepperdine's attendence of ... -
lock-free
2007-06-18 22:06 9491. http://www.ibm.com/developer ... -
解决java.lang.OutOfMemoryError: PermGen space(转帖)
2007-06-05 18:07 3105解决方案就是:在启动服务器时加上指定PermGen区域的内存大 ... -
Performance...
2007-06-05 15:11 913« I used to work for... | Mai ... -
数据仓库
2007-04-18 10:38 1050... -
Expressions Transform
2007-04-13 11:13 1324Expressions, Conversion and Eva ... -
Java cleanup code
2007-04-03 12:20 1251Java shutdown hook guarantee th ... -
Java performance tunning
2007-04-03 11:37 881http://www.javaperformancetunin ... -
Running IE from command line
2007-04-03 10:58 1057Here's a simple way you can ru ... -
Unicode and UTF8
2007-04-03 10:27 870What is Unicode? Unicode provid ... -
Daemon Thread Notes
2007-04-03 09:16 26101. 只要程式中的non-Daemon thread都結束了. ... -
How to know the main class of a jar file?
2007-04-02 15:18 965Easy. Here is an implementation ... -
The best chinese BAT tutorial(from www.boofee.net/bigfee/)
2007-03-27 11:58 1269如何创建批处理文件? 不要听了批处理文件就感到很神气 ... -
Basics - Binary search
2007-03-26 15:53 910java 代码 public class Bin ... -
Graph data structure
2007-03-23 12:04 8281. adjacent matrix good for bor ... -
Functional Programming For The Rest of Us
2007-03-23 10:39 900I like connect beautiful artic ... -
Functional Programming For The Rest of Us
2007-03-23 10:24 780I like connect beautiful artic ...
相关推荐
mergesort java implement~!
MergeSort合并排序
C/C++语言 insertionSort 和 mergeSort代码 .c文件 适用于linux ubuntu unix等平台 terminal中操作
用非递归算法实现合并排序,具有高效的特征,从底向上
归并排序(Merge sort,台湾译作:合并排序)是建立在归并操作上的一种有效的排序算法。该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。 算法步骤: 1. 申请空间,使其大小为两个已经排序序列之...
Python手撕算法MergeSort
本代码实现对大量无序字符串的排序。采用mergesort。时间复杂度为O2。输出结果自动保存在一个text文件中。
sort sort_使用C++实现的排序算法之MergeSort
排序算法 排序算法_基于C语言实现的排序算法之MergeSort实现
MergeSort-MergeSort
int *merge(int ll[],int n1,int rr[],int n2) { int i,j; i=j=1; int k=1; while(i) { if(ll[i][j]) s[k++]=ll[i++]; else
Code01_MergeSort.java
Mergesort 分治 vector都有应用很好的编程范例
F3月10日mergeSort.class
北大POJ1804-Brainman【借助Mergesort求逆序数O(nlogn)】
排序算法-归并排序详细讲解(MergeSort)
算法导论 课上的 用mergesort求逆序数对的matlab源码,想挣点分,所以就不免费下载了~~~~ 见谅