• JAVA排序--[快速排序]


     1 package com.array;
     2 
     3 public class Sort_Quick {
     4     /*
     5      * 项目名称:快速排序 ; 
     6      * 项目要求:用JAVA对数组进行排序,并运用快速排序算法; 
     7      * 作者:Sevck;
     8      */
     9     public void sort(int left, int right, int array[]) {
    10         int l = left;
    11         int r = right;
    12         int pirot = array[(left + right) / 2];
    13         int temp = 0;
    14         while (l < r) {
    15             while (array[l] < pirot && l >= left)
    16                 l++;
    17             while (array[r] > pirot && r <= right)
    18                 r--;
    19             if (l >= r)
    20                 break;
    21             temp = array[l];
    22             array[l] = array[r];
    23             array[r] = temp;
    24         }
    25 
    26         if (l == r) {
    27             l++;
    28             r--;
    29         }
    30 
    31         if (left < r)
    32             sort(left, r, array);
    33         if (right > l)
    34             sort(l, right, array);
    35     }
    36 
    37     public static void main(String[] args) {
    38         int arr1[] = { 7, 3, 2, 9, 15, 1, 14 };
    39         Sort_Quick qs = new Sort_Quick();
    40         qs.sort(0, arr1.length - 1, arr1);
    41 
    42         System.out.println("The current array is:");
    43 
    44         for (int i = 0; i < arr1.length; i++) {
    45             System.out.print("  " + arr1[i]);
    46         }
    47     }
    48 }

    这个需要说说了,之前快排有处写错了,自己调试了好久没解决,(结果发现的时候不细心--写成++)。

    看了半天没看到,arr1.length - 1 怎么会变成7...找鸡哥问了,瞬间解决了,还被吐槽了代码写的好烂。。一点都不好看

    不过看完鸡哥的确实是自叹不如,好好学习了他的编码风格...

  • 相关阅读:
    glade2支持C++代码的输出(1)
    通用的信号量捕获打印调用栈接口
    xbmc的静态链接办法
    SVG图片资源较多的一个WIKI网站
    批量图片大小调整
    每日算法
    每日算法
    每日算法
    每日算法
    每日算法
  • 原文地址:https://www.cnblogs.com/sevck/p/4498670.html
Copyright © 2020-2023  润新知