范文无忧网范文学习范文大全

Java快速排序法是怎么算的

01月31日 编辑 fanwen51.com

[如何快速记住五十音图]五十音图可以说是学日语入门必须要会的,和汉语的拼音,英语的字母一样,但是虽然说是日语和汉语比较接近,但是五十音图字数比较多,单靠死记硬背一般也是很难记忆,我学日语是因为比较...+阅读

/** * 快速排序 * 快速排序使用分治法(Divide and conquer)策略来把一个序列(list)分为两个子序列(sub-lists)。 * 步骤为: * 1. 从数列中挑出一个元素,称为 "基准"(pivot), * 2. 重新排序数列,所有元素比基准值小的摆放在基准前面,所有元素比基准值大的摆在基准的后面(相同的数可以到任一边)。在这个分割之后,该基准是它的最后位置。

这个称为分割(partition)操作。 * 3. 递归地(recursive)把小于基准值元素的子数列和大于基准值元素的子数列排序。 * 递回的最底部情形,是数列的大小是零或一,也就是永远都已经被排序好了。虽然一直递回下去,但是这个算法总会结束,因为在每次的迭代(iteration)中,它至少会把一个元素摆到它最后的位置去。 * param data 待排序的数组 * param low * param high * see SortTest#qsort(int[], int, int) * see SortTest#qsort_desc(int[], int, int) */ public void quickSort(int[] data, String sortType) { if (sortType.equals("asc")) { //正排序,从小排到大 qsort_asc(data, 0, data.length - 1); } else if (sortType.equals("desc")) { //倒排序,从大排到小 qsort_desc(data, 0, data.length - 1); } else { System.out.println("您输入的排序类型错误!"); } } /** * 快速排序的具体实现,排正序 * param data * param low * param high */ private void qsort_asc(int data[], int low, int high) { int i, j, x; if (lowx) { j--; //从右向左找第一个小于x的数 } if (ix) { i++; //从左向右找第一个大于x的数 } if (i

延伸阅读:

哪位帮我讲讲java中的快速排序快速排序是对冒泡排序的一种改进。它的基本思想是:通过一躺排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按次方法对这两...

请问Java快速排序法是怎么算的* 步骤为: * 1. 从数列中挑出一个元素,称为 "基准"(pivot), * 2. 重新排序数列,所有元素比基准值小的摆放在基准前面,所有元素比基准值大的摆在基准的后面(相同的数可以到任一边)。在...

java中快速排序的算法举个例子package person.test; import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; import java.util.List; import java.util.Random; /** * cl...

java快速排序算法最好是示例的那种感激不尽public static void main(String[] args) { int[] arr = {1,4,7,2,5,8,3,6,9}; quickSort(arr); } public static void quickSort(int[] a) { quickSort(a, 0, a.length - 1...

排序都有哪几种方法排序的方法有:插入排序(直接插入排序、希尔排序),交换排序(冒泡排序快速排序),选择排序(直接选择排序、堆排序),归并排序,分配排序(箱排序、基数排序快速排序的伪代码。 / /使用快速...

Java的排序算法有哪些插入排序: package org.rut.util.algorithm.support; import org.rut.util.algorithm.SortUtil; /** * author treeroot * since 2006-2-2 * version 1.0 */ public class In...

用java快速排序法求十个数中的最大值public class QuickSort { private int[] list = {}; public void setList(int[] list){ this.list = list; } public int[] getList(){ return this.list; } public void s...

java几种基本排序/** * 冒泡排序 * 比较相邻的元素。如果第一个比第二个大,就交换他们两个。 * 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大...

Java通过几种经典的算法来实现数组排序JAVA中在运用数组进行排序功能时,一般有四种方法:快速排序法、冒泡法、选择排序法、插入排序法。 快速排序法主要是运用了Arrays中的一个方法Arrays.sort()实现。 冒泡法是运用...

推荐阅读
图文推荐
栏目列表