JAVA_快速排序

来源:互联网 发布:java socket 长链接 编辑:程序博客网 时间:2024/06/05 04:18
<span style="font-size:18px;"><span style="font-size:18px;">package cn.yh;public class TestMain {      public static void main(String args[]){      int [] list ={34,3,53,2,23,7,10,3,8,12,52,38,52,87,100};      QuicSort.quick(list);      for (int i = 0; i < list.length; i++) {System.out.print(list[i]+" ");}          System.out.println();      }      }class QuicSort{public static int GetMiddle(int [] list,int low,int high){int tmp=list[low];while(low<high){while (low<high&&list[high]>=tmp) { high--;} list[low]=list[high];while (low<high&&list[low]<tmp) {low++;}list[high]=list[low];}list[low]=tmp;  return low;}/** *  对数组进行排序 *  * @param list * 要排序的数组 * @param low * 第一个元素的索引值 * @param high  * 最后一个元素的索引值 */public static void quickSort(int [] list,int low,int high){if(low<high){int  middle=GetMiddle(list, low, high);quickSort(list, low, middle-1);quickSort(list,middle+1,high);}}/** * 判断数组是否是空,为空则无法排序,非空则正常进行 *  * @param str *  *  */public static void quick(int [] str){if(str.length>0){quickSort(str, 0, str.length-1);}}}</span></span>


0 0
原创粉丝点击