快速排序的java实现

package com.sort;

/**
* @Auth wxr
* @Date 2019
*/
public class QuickSort {

public static void sortNumLeft(int [] source,int from,int to){
if(source.length>1&&to-from>0) {
int curse = source[from];
int j = from;
for (int i = from + 1; i < to + 1; i++) {
if (curse > source[i]) {
int ss = source[i];
for (int k = i; k > j; k--) {
source[k] = source[k - 1];
}
source[j] = ss;
j++;
}
}
sortNumLeft( source, 0, j -1 );
sortNumRight( source, j + 1, source.length - 1 );
}
}
public static void sortNumRight(int [] source,int from,int to){
if(source.length>1&&to-from>0) {
int curse = source[from];
int j = from;
for (int i = from + 1; i < to + 1; i++) {
if (curse > source[i]) {
int ss = source[i];
for (int k = i; k > j; k--) {
source[k] = source[k - 1];
}
source[j] = ss;
++j;
}
}
sortNumRight( source, from, j-1 );
sortNumRight( source, j + 1, to );
}
}

public static void ss(int i){
if(i>0){
ss(--i);
}
}
public static void main(String[] args) {
int [] i={61,4,56,55,12,44,4,8,1,2,99};
QuickSort.sortNumRight( i,0,i.length-1 );
for(int ii:i) {
System.out.println( ii );
}
}
}
posted @ 2019-12-02 14:05  IAmSao瑞  阅读(691)  评论(0)    收藏  举报