学习ing继续输入输出
冲冲冲
java:
import java.util.*;
public class Main{
private static int N = 100010;
private static int[] q = new int[N];
private static int[] tmp = new int[N];
public static void main(String[] args){
Scanner scan = new Scanner(System.in);
int n = scan.nextInt();
for(int i = 0; i < n; i ++){
q[i] = scan.nextInt();
}
int l = 0, r = n - 1;
merge_sort(q, l, r);
for(int i = 0; i < n; i++){
System.out.print(q[i] + " ");
}
}
public static void merge_sort(int[] q, int l, int r){
if(l >= r) return;
int mid = l + r >> 1;
merge_sort(q, l, mid);
merge_sort(q, mid + 1, r);
int i = l, j = mid + 1, id = 0;
while(i <= mid && j <= r){
if(q[i] <= q[j]) tmp[id ++] = q[i ++];
else tmp[id ++] = q[j ++];
}
while(i <= mid) tmp[id ++] = q[i ++];
while(j <= r) tmp[id ++] = q[j ++];
for(i = l, id = 0; i <= r; i ++, id ++) q[i] = tmp[id];
}
}