zoukankan      html  css  js  c++  java
  • 快排的算法

    /**

     * @author @liugang

     * 快排的算法

     * @param pData 需要排序的数组

     * @param left     左边的位置,初始值为0

     * @param right 右边的位置,初始值为数组长度

     * 选择数组中的一个元素作为标准,将所有比标准小的元素放到左边,

     * 所有比标准大的元素放到右边。

     * 并对左边和右边的元素做一样的快速排序过程。

     

     */

    public class Qsort {

     

        public static void QuickSort(int[] pData, int left, int right) {

           int i, j;

           int k = 0;

           int middle, temp;

           i = left;

           j = right;

           middle = pData[left];

           while (true) {

               while ((++i) < right - 1 && pData[i] < middle)

                  ;

               while ((--j) > left && pData[j] > middle)

                  ;

               System.out.println(i + "," + j);

               if (i >= j)

                  break;

               temp = pData[i];

               pData[i] = pData[j];

               pData[j] = temp;

     

           }

     

           pData[left] = pData[j];

           pData[j] = middle;

     

           for (k = 0; k < pData.length; k++) {

               System.out.print(pData[k] + " ");

           }

           System.out.println();

     

           if (left < j)

               QuickSort(pData, left, j);

     

           if (right > i)

               QuickSort(pData, i, right);

        }

     

        public static void main(String[] args) {

           int[] pData = new int[10];

           for (int i = 0; i < 10; i++)

               pData[i] = (int) (Math.random() * 100);

     

           for (int i = 0; i < pData.length; i++) {

               System.out.print(pData[i] + " ");

           }

           System.out.println();

     

           Qsort.QuickSort(pData, 0, pData.length);

     

           System.out.println("\n***********************");

     

           for (int i = 0; i < pData.length; i++)

               System.out.print(pData[i] + " ");

        }

     

    }

  • 相关阅读:
    树莓派开发实战(第2版)
    Windows 7+Office 2010综合应用培训教程
    Adobe Edge Animate CC
    从零开始学采购:供应商管理与采购过程控制
    iOS项目开发全程实录
    SEO搜索引擎实战详解
    Photoshop移动UI设计完全实例教程
    游戏开发物理学
    psd,
    放到 userdefault,而不是 cache里面,
  • 原文地址:https://www.cnblogs.com/jinzhengquan/p/1980265.html
Copyright © 2011-2022 走看看