<!-- -->
|
||||||||
上一个类 下一个类 | 框架 无框架 <script type="text/javascript"></script><noscript></noscript> | |||||||
摘要: 嵌套 | 字段 | 构造函数 | 方法 | 详细信息: 字段 | 构造函数 | 方法 |
java.lang.Object org.luosijin.test.Sort
public class Sort
Java实现几种常见排序方法:冒泡排序、快速排序、选择排序、插入排序、希尔排序,甚至还有基数排序、鸡尾酒排序、桶排序、鸽巢排序、归并排序等。
<!-- ======== CONSTRUCTOR SUMMARY ======== --><!-- -->
构造函数摘要 Sort() |
static void |
bubbleSort(int[] nums) 冒泡法排序 比较相邻的元素。 |
static void |
insertSort(int[] nums) 插入排序 从第一个元素开始,该元素可以认为已经被排序 取出下一个元素,在已经排序的元素序列中从后向前扫描 如果该元素(已排序)大于新元素,将该元素移到下一位置 重复步骤3,直到找到已排序的元素小于或者等于新元素的位置 将新元素插入到该位置中 重复步骤2 |
static void |
merge(int[] data, int p, int q, int r) 归并算法实现 |
static void |
mergeSort(int[] nums, int left, int right) 归并排序 申请空间,使其大小为两个已经排序序列之和,该空间用来存放合并后的序列 设定两个指针,最初位置分别为两个已经排序序列的起始位置 比较两个指针所指向的元素,选择相对小的元素放入到合并空间,并移动指针到下一位置 重复步骤3直到某一指针达到序列尾 将另一序列剩下的所有元素直接复制到合并序列尾 算法参考:Java部落 |
static void |
quickSort(int[] nums, int start, int end) 快速排序 从数列中挑出一个元素,称为“基准” 重新排序数列,所有元素比基准值小的摆放在基准前面,所有元素比基准值大的摆在基准的后面(相同的数可以到任一边)。 |
static void |
selectSort(int[] nums) 选择排序 在未排序序列中找到最小元素,存放到排序序列的起始位置 再从剩余未排序元素中继续寻找最小元素,然后放到排序序列末尾。 |
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
<!-- ========= CONSTRUCTOR DETAIL ======== --><!-- -->
构造函数详细信息public Sort()<!-- ============ METHOD DETAIL ========== --> 方法详细信息
public static void bubbleSort(int[] nums)
nums
- 需要排序的整型数组
public static void quickSort(int[] nums, int start, int end)
nums
-
start
-
end
-
public static void selectSort(int[] nums)
nums
-
public static void insertSort(int[] nums)
nums
-
public static void mergeSort(int[] nums, int left, int right)
nums
-
left
-
right
-
public static void merge(int[] data, int p, int q, int r)
data
-
p
-
q
-
r
-
<!-- -->
|
||||||||
上一个类 下一个类 | 框架 无框架 <script type="text/javascript"></script><noscript></noscript> | |||||||
摘要: 嵌套 | 字段 | 构造函数 | 方法 | 详细信息: 字段 | 构造函数 | 方法 |