В этой статье описывается быстрый алгоритм сортировки, реализованный Java на основе метода разделения и завоевания. Поделитесь этим для вашей ссылки, следующим образом:
Пакет cn.nwsuaf.quick;/*** Случайно генерируйте 20 чисел и быстро сортируют их** @author liu yonglang**/public class Quick {/*** Exchange Function, чтобы реализовать операцию двух чисел в массиве** @param Array* Array для управления* @param i* Первый подписной swap (int [] array, int i, int j) {int temp = array [i]; Array [i] = Array [j]; Array [j] = temp; } / *** Алгоритм деления и завоевания*** @param массив* массив для управления* @param low* Начальный адрес модуля в разделении* @param Высота* Конечный адрес модуля в разделении* @return Местоположение Подписание ссылочного элемента* / public int Quick (int [] Array, int low, int) {// Установить первое число в качестве справочного элемента int pivot = array [low]; // сканировать справа налево, чтобы найти первый элемент, меньший, чем pivot, в то время как (low <height) {while (low <height && array [height]> = pivot) высота-; // указывает, что элемент, меньший, чем pivot, был найден, если (низкая <высота) // после обмена, низкие выполнения +1 операционного совокупности (массив, низкий ++, высота); // сканировать слева направо, чтобы найти первый элемент больше, чем pivot, в то время как (low <height && array [low] <= pivot) low ++; // указывает, что элемент, больше, чем pivot, был найден, если (низкая <высота) // после обмена выполняет -1 операционную подсасывание (массив, низкий, высота-); } // Вернуться в окончательную позицию высоты возврата эталонного элемента; } / ** * Быстрый вид массива * * * @param массив * массив для управления * @param low * low * @param height * high * / public static void sort (int [] массив, int low, int height) {// Запишите положение, соответствующее разделенному эталонному элементу int temp; // Сортировать только if (low <высота) {// делить массив Temp = Quick (массив, низкий, высота); // сортировать рекурсивно для левого интервального сортировки (массив, низкий, темп - 1); // сортируйте рекурсивно для правильного интервального сортировки (массив, темп + 1, высота); }} public static void main (string [] args) {int [] array = new int [20]; System.out.println ("wulin.com Результат теста:"); System.out.print («Перед сортировкой последовательности:»); for (int i = 0; i <array.length; i ++) {// случайным образом генерировать 20 целых числа 0-99 массив [i] = (int) (math.random () * 100); System.out.print (массив [i] + ""); } System.out.print ("/nsorted aexpence:"); сортировка (массив, 0, массив. Length - 1); for (int i = 0; i <array.length; i ++) System.out.print (Array [i]+""); }}Результаты работы:
PS: Вот демонстрационный инструмент для вашей ссылки:
Онлайн -анимация демонстрации вставки/select/bubble/merge/hill/Quick Sorting Algoriting Algorithm Tool:
http://tools.vevb.com/aideddesign/paixu_ys
Для получения дополнительной информации об алгоритмах Java, читатели, которые заинтересованы в этом сайте, могут просмотреть темы: «Учебное пособие по структуре данных Java и алгоритм», «Сводка операции Java Dom Node», «Сводка Java File и каталог
Я надеюсь, что эта статья будет полезна для всех Java Programming.