import java.util.Arrays;
import org.stringtemplate.v4.compiler.STParser.template_return;
public class GuibingSort {
public static int[]sort(int[] array,int low,int high){
int mid = (low+high)/;
if(low<high){
sort(array, low, mid);
sort(array, mid+, high);
merge(array, low, mid, high);
}
return array;
}
private static void merge(int[] array, int low, int mid, int high) {
int i=low;int m=mid;
int j=mid+;int n=high;
int k=;
int[] tmp = new int[high-low+];
while(i<=m && j<=n){
if(array[i]<array[j]){
tmp[k++]=array[i++];
}else{
tmp[k++]=array[j++];
}
}
while(i<=m){
tmp[k++]=array[i++];
}
while(j<=n){
tmp[k++]=array[j++];
}
for(int h=;h<tmp.length;h++){
array[h+low]=tmp[h];
}
}
public static void QuickSort(int[] array,int low,int high){
int l=low;int h=high;int flag=array[low];
while(l<h){
while(l<h && array[h]>=flag){
h--;
}
if(l<h){
int tmp=array[h];
array[h]=array[l];
array[l]=tmp;
l++;
}
while(l<h && array[l]<=flag){
l++;
}
if(l<h){
int tmp=array[h];
array[h]=array[l];
array[l]=tmp;
h--;
}
}
if(l>low) QuickSort(array, low, l-);
if(h<high) QuickSort(array, l+, high);
}
// 歸并排序的實作
public static void main(String[] args) {
int[] array = { , , , , , , , , , };
// int[] temp = new int[array.length];
// GuibingSort.sort(array, 0, array.length - 1);
QuickSort(array, , array.length-);
System.out.println(Arrays.toString(array));
}
}