快速排序,通俗易懂

- 日理万妓 2021-10-24 00:52 531阅读 0赞

快速排序:
在这里插入图片描述

  1. package 快排;
  2. import java.util.Arrays;
  3. public class QuickSort {
  4. public static void main (String[] args) {
  5. int[] array = {1, 9, 5, 7, -1, -6, 89, 78, 56, 0,1,9};
  6. sort1(array, 0, array.length - 1);
  7. System.out.println(Arrays.toString(array));
  8. }
  9. public static void sort1 (int[] array, int left, int right) {
  10. int l = left;
  11. int r = right;
  12. int temp = 0;
  13. int pivot = array[(left + right) / 2];
  14. while (l < r) {
  15. while (array[l] < pivot) {
  16. l += 1;
  17. }
  18. while (array[r] > pivot) {
  19. r -= 1;
  20. }
  21. if (l == r) {
  22. break;
  23. }
  24. temp = array[l];
  25. array[l] = array[r];
  26. array[r] = temp;
  27. if (array[l] == pivot) {
  28. r--;
  29. }
  30. if (array[r] == pivot) {
  31. l++;
  32. }
  33. }
  34. if (l == r) {
  35. l++;
  36. r--;
  37. }
  38. if (left < r) {
  39. sort1(array, left, r);
  40. }
  41. if (l < right) {
  42. sort1(array, l, right);
  43. }
  44. }
  45. }

发表评论

表情:
评论列表 (有 0 条评论,531人围观)

还没有评论,来说两句吧...

相关阅读

    相关 kmp算法--通俗易懂

    今天花了好几个小时学习这个算法,担心之后忘记,所以在这里做些总结。也方便其它人学习借鉴。 学习理解的过程中也看了很多帖子,但感觉说的都不是特别清楚,也对照了课本,但是大量

    相关 快速排序通俗易懂

    高快省的排序算法 有没有既不浪费空间又可以快一点的排序算法呢?那就是“快速排序”啦!光听这个名字是不是就觉得很高端呢。 假设我们现在对“6  1  2 7  9  3  4

    相关 快速排序通俗易懂

    高快省的排序算法 有没有既不浪费空间又可以快一点的排序算法呢?那就是“快速排序”啦!光听这个名字是不是就觉得很高端呢。 假设我们现在对“6  1  2 7  9  3  4

    相关 通俗易懂分布式

    借鉴。原文请[点击这里][Link 1]。 — 分布式不是单单几句java代码就能建立的。如果一定要用java来理解,那java里面的多线程可以理解成一个分布式,他把用户请