`
zhengqiqi17
  • 浏览: 7468 次
社区版块
存档分类
最新评论

java快速排序

阅读更多

话说做了一段时间的java web开发,实在没感觉到之前数据结构课学的那些派上了什么用场,还无法参透数据结构算法在java中的精髓,实在汗颜,哪位高手有见解还望能指点下小弟。

 

       今天先来一个j快速排序的java实现。

public class QuickSort {
 
 public static int getMiddle(Integer[] 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;                   //返回中轴的位置 
    }

 public static void quicksort(Integer[] 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 args
  */
 public static void main(String[] args) {
  Integer[] list = new Integer[]{1,6,4,3,7};
  quicksort(list, 0, 4);
  for(int a : list)
  System.out.println(a);

 }

}

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics