快速排序

举报
水坚石青 发表于 2021/10/30 00:20:55 2021/10/30
【摘要】 public class QuickSort { public static void main(String args[]) { int a[] = {10,5,10,2}; System.out.println("this is quciksort:"); QuickSort(a, 0, a.length - 1); out...

  
  1. public class QuickSort
  2. {
  3. public static void main(String args[])
  4. {
  5. int a[] = {10,5,10,2};
  6. System.out.println("this is quciksort:");
  7. QuickSort(a, 0, a.length - 1);
  8. output(a);
  9. }
  10. public static void output(int a[])//输出
  11. {
  12. int i;
  13. for(i = 0; i < a.length; i++)
  14. {
  15. System.out.print(a[i] + " ");
  16. }
  17. System.out.println();
  18. }
  19. public static void QuickSort(int a[], int low, int high)
  20. {
  21. if(low >= high)
  22. {
  23. return;
  24. }
  25. int l = low;
  26. int h = high;
  27. int now = a[low];//设置哨兵
  28. while(l < h)
  29. {
  30. while(l < h && a[h] >= now)//右比较
  31. {
  32. h--;
  33. }
  34. while(l < h && a[l] <= now)//左比较
  35. {
  36. l++;
  37. }
  38. if(l < h)//交换
  39. {
  40. int temp = a[h];
  41. a[h] = a[l];
  42. a[l] = temp;
  43. }
  44. }
  45. int temp = a[l];//换最后的一个值
  46. a[l] = now;
  47. a[low] = temp;
  48. QuickSort(a, low, l - 1);//左递归
  49. QuickSort(a, h + 1, high);//右
  50. }
  51. }

文章来源: blog.csdn.net,作者:水坚石青,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/helongqiang/article/details/78024406

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。