博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
快速排序
阅读量:6552 次
发布时间:2019-06-24

本文共 452 字,大约阅读时间需要 1 分钟。

[cpp] view plain copy

1.//快速排序

2.void quick_sort(int s[], int l, int r)
3.{

  1. if (l < r)
  2. {
  3. //Swap(s[l], s[(l + r) / 2]); //将中间的这个数和第一个数交换 参见注1
  4. int i = l, j = r, x = s[l];
  5. while (i < j)
  6. {
  7. while(i < j && s[j] >= x) // 从右向左找第一个小于x的数
  8. j--;
  9. if(i < j)
  10. s[i++] = s[j];
  11. while(i < j && s[i] < x) // 从左向右找第一个大于等于x的数
  12. i++;
  13. if(i < j)
  14. s[j--] = s[i];
  15. }
  16. s[i] = x;
  17. quick_sort(s, l, i - 1); // 递归调用
  18. quick_sort(s, i + 1, r);
  19. }
    24.}

转载于:https://blog.51cto.com/12525470/2069797

你可能感兴趣的文章
C#语言学习——面向对象的几大原则
查看>>
Android中asset文件夹和raw文件夹区别
查看>>
第二章家庭作业 2.78
查看>>
Risc-V指令集
查看>>
Python进阶04 函数的参数对应
查看>>
C语言结构体的“继承”
查看>>
linux常用指令
查看>>
Servlet Demo
查看>>
Struts2中的<s:action>标签
查看>>
Java中取某一个范围的随机数
查看>>
一条复杂SQL实现思路
查看>>
我的友情链接
查看>>
-bash:wget command not found的解决方法
查看>>
我的个人简历
查看>>
我的友情链接
查看>>
KVM组件bug报告方法
查看>>
HTML5初学---坦克大战基础
查看>>
Solr增量更新索引
查看>>
抵制克苏恩[Lydsy2017年4月月赛]
查看>>
MySql Study Notes
查看>>