美文网首页
2021-07-13 快排

2021-07-13 快排

作者: hlchengzi | 来源:发表于2021-07-13 20:31 被阅读0次

20分钟写出来的快排

private void quickSort(int[] nums,int start,int end){
      try {
          if(start>=end){
              return;
          }
          if(start+1 == end){
              if(nums[start]>nums[end]){
                  swap(nums,start,end);
              }
              return;
          }
          int mid = nums[start];
          List<Integer> left = new ArrayList<>();
          List<Integer> right = new ArrayList<>();
          for (int i = start+1; i <= end; i++) {
              if(nums[i]< mid){
                  left.add(nums[i]);
              }
              else {
                  right.add(nums[i]);
              }
          }
          int midNum = start+left.size();
          int index = start;
          for (int i = 0; i < left.size(); i++) {
              nums[index] = left.get(i);
              index++;
          }
          nums[index] = mid;
          index++;
          for (int i = 0; i < right.size(); i++) {
              nums[index] = right.get(i);
              index++;
          }
          quickSort(nums,start,midNum);
          quickSort(nums,midNum+1,end);
      } catch (Error e) {
          System.out.println("Exce:"+start +"  "+ end);
      }
  }

  public void swap(int[] nums,int left,int right){
      int temp = left;
      left = right;
      right = temp;
  }

今天公司宣布 14薪资慢慢变成16薪资了,唉,努力

相关文章

  • 2021-07-13 快排

    20分钟写出来的快排 今天公司宣布 14薪资慢慢变成16薪资了,唉,努力

  • 快排

    快排代码

  • 快排

  • 快排

    昨天晚上睡觉前兴起准备十分钟写出快排,结果纠结了两个小时愣是没有搞出来,很郁闷地睡觉去。今天地铁上跟LG又重新缕了...

  • 快排

    基本思想: 先从数列中取出一个数作为基准数。 分区过程,将比这个数大的数全放到它的右边,小于或等于它的数全放到它的...

  • 快排

  • 快排

    python实现 java实现:

  • 快排

    快速排序: 基本思想:1、先从数列中取出一个数作为基数。2、分区,将比此基数大的数放到它右边,小的数放到它左边。3...

  • 快排

    package sort;import java.util.Arrays;public class Quickso...

  • 快排

网友评论

      本文标题:2021-07-13 快排

      本文链接:https://www.haomeiwen.com/subject/ljgspltx.html