A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© ノtrack 中级黑马   /  2014-4-16 18:28  /  860 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

视频地址: 快排视频

源码如下:

  1. /**快速法排序
  2.   * @param arr 需要排序的数组
  3.   * @param left 数组最小下标(一般是0)
  4.   * @param right 数组最大下标(一般是Length-1)
  5.   * @return int[]
  6.   */
  7. private static int[] fastSort(int[] arr,int left,int right){
  8.         if(left < right){
  9.             int s = arr[left];
  10.             int i = left;
  11.             int j = right + 1;
  12.             while(true){
  13.                 //向右找大于s的元素的索引
  14.                 while(i+1 < arr.length && arr[++i] < s);
  15.                 //向左找小于s的元素的索引
  16.                 while(j-1 > -1 && arr[--j] > s);
  17.                 //如果i >= j 推出循环
  18.                 if(i >= j){
  19.                     break;
  20.                 }else{
  21.                     //交换i和j位置的元素
  22.                     int t = arr[i];
  23.                     arr[i] = arr[j];
  24.                     arr[j] = t;
  25.                 }
  26.             }
  27.             arr[left] = arr[j];
  28.             arr[j] = s;
  29.             //对左面进行递归
  30.             fastSort(arr,left,j-1);
  31.             //对右面进行递归
  32.             fastSort(arr,j+1,right);
  33.         }
  34.         return arr;
  35.     }
复制代码

评分

参与人数 1黑马币 +3 收起 理由
菜小徐 + 3

查看全部评分

2 个回复

倒序浏览
地址: http://tieba.baidu.com/p/1797158322  我不是插入url了么 咋的不行
回复 使用道具 举报
地址在一楼,  学习去了..:lol
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马