快排 java实现
public class 快排 {
public static void main(String[] args) {
int [] s = {1,2,43,54,23,43,76,87,343};
quikSort(0, s.length-1, s);
for(int i=0;i<s.length;i++){
System.out.println(s[i]);
}
}
public static void quikSort(int low,int high,int[] mList){
if(low>=high){
return;
}
int start = low;
int end = high;
int flag = mList[start];
while(low<high){
while(low<high&&mList[high]>=flag){
high--;
}
if(low<high){
int temp = mList[low];
mList[low] = mList[high];
mList[high] = temp;
}
while(low<high&&mList[low]<=flag){
low++;
}
if(low<high){
int temp = mList[low];
mList[low] = mList[high];
mList[high] = temp;
}
}
quikSort(start, low-1, mList);
quikSort(low+1, end, mList);
}
}
归并排序 java实现
public class 归并排序 {
public static void main(String[] args) {
int [] s = {1,2,43,54,23,43,76,87,343};
mergeSort(s, 0, s.length-1);
for(int i:s){
System.out.println(i);
}
}
static void mergeSort(int[] list,int start,int end){
int mid = (start+end)/2;
if(start>=end){
return;
}
mergeSort(list, start, mid);
mergeSort(list, mid+1, end);
int[] temp = new int[end-start+1];
int i=start,j=mid+1,k=0;
while(i<=mid&&j<=end){
if(list[i]<list[j]){
temp[k++]=list[i++];
}else{
temp[k++]=list[j++];
}
}
while(i<=mid){
temp[k++]=list[i++];
}
while(j<=end){
temp[k++]=list[j++];
}
for(int m=0;m<temp.length;m++){
list[m+start]=temp[m];
}
}
}