📄 mergesort.java
字号:
import java.util.Scanner;
public class MergeSort {
/**
* @param args
*/
public static void mergeSort(int[] array,int p1,int p2){
if(p1>=p2) return;
int mid = (p1+p2)/2;
mergeSort(array,p1,mid);
mergeSort(array,mid+1,p2);
int[] a = new int[p2-p1+1];
int q1 = p1;
int q2 = mid+1;
int i = 0;
while(q1<=mid && q2<=p2){
if(array[q1]<array[q2]) {
a[i] = array[q1++];
}
else{
a[i] = array[q2++];
}
i++;
}
while(q1 <= mid)
a[i++] = array[q1++];
while(q2 <= p2)
a[i++] = array[q2++];
for(i=0;i<p2-p1+1;i++){
array[p1+i] = a[i];
}
}
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner in = new Scanner(System.in);
System.out.print("Please input the length of the array:");
int n = in.nextInt();
int[] array = new int[n];
for(int i=0;i<n;i++){
System.out.print("array["+i+"] = ");
array[i] = in.nextInt();
}
mergeSort(array,0,n-1);
System.out.println("The result of mergeSort:");
for(int i=0;i<n;i++){
System.out.print(array[i]+"\t");
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -