快速排序

首页 » 算法 » 快速排序

冒泡的加强版,速度的快慢取决于选的基准(中轴)

package 排序;

import java.util.Arrays;

public class 快排 {
public static void main(String[] args) {
 int []a= {3 ,2 ,4 ,1};
 kuai(a,0,a.length-1);
 System.out.println(Arrays.toString(a));
}
static void kuai(int a[],int l, int r) {
 if(l>=r)//说明此时左边的值全部小于flag,右边全部大于flag
  return;
 int left=l,right=r;
 int flag=a[l];//基准
 while(left<right) {
  while(left<right && a[right]>=flag) {
   right--;
  }
  if(left<right) {
   //已经找到右边的小于flag,(a[right]>=flag不满足)
   a[left]=a[right];
  }
  while(left<right && a[left]<=flag) {
   left++;
  }
  if(left<right) {
   //已经找到左边的大于flag,(a[left]<=flag不满足)
   a[right]=a[left];
  }
  if(left>=right) {
   a[left]=flag;
  }
 }
 kuai(a,l,right-1);
 kuai(a,right+1,r);
}
}

 

分享到:
赞(0) 打赏

评论 7

评论前必须登录!

 

  1. #1

    记住这个网站了

    努力8个月前 (03-27)
  2. #2

    我加你了哦

    小蚯蚓8个月前 (03-27)
  3. #3

    奥利给

    你好8个月前 (03-27)
  4. #4

    记住这个网站了

    中国加油小子8个月前 (03-28)
  5. #5

    good厉害了

    渣渣辉6个月前 (05-26)
  6. #6

    我也是小白以后多多交流

    渣渣辉6个月前 (05-26)
  7. #7

    我也是学计算机的

    笔记本6个月前 (05-26)

觉得文章有用就打赏一下弟弟吧

支付宝扫一扫打赏

微信扫一扫打赏

Vieu4.5主题
专业打造轻量级个人企业风格博客主题!专注于前端开发,全站响应式布局自适应模板。
正在播放:

作者想对您说:

累了就停下来听首歌吧

听完后会给您一个好心情

最后

等到您不容易

还希望您能多待一会儿

      00:00/00:00