
八大排序
kawaniu
这个作者很懒,什么都没留下…
展开
-
快速排序算法
计第一个元素为基准值,大于该值的放左边,小于该值的放右边,每趟都将基准值和小于基准值的元素的最后一个元素交互位置并以第一个元素为新基准值,交互位置后数组分为小于最初基准值部分和大于基准值部分,分别对两部分元素进行之前的操作 public class QuickSort { public static int[] quickSort(int[] array, int low, int high) { int pivot, p_pos, i, temp; //低位在前原创 2021-08-06 11:35:56 · 155 阅读 · 3 评论 -
选择排序算法
每次找到一个最小值并依次从第一个位置开始放 public class SelectSort { public static int[] selectSort(int[] array) { for (int i = 0, len = array.length; i < len - 1; i++) { //暂存遍历范围内最小值用,从第一个元素开始 int index = i; for (int j = i原创 2021-08-05 20:21:52 · 129 阅读 · 3 评论 -
插入排序算法
public class InsertionSort { public static int[] insertionSort(int[] array) { for (int i = 1; i < array.length; i++) { //索引j元素和之前的所有元素比较,小值在前 //每趟排序能通过排除非最大值法确定一个最大值,类似于冒泡排序 for (int j = i; j > 0; j--).原创 2021-08-04 21:18:39 · 136 阅读 · 3 评论 -
堆排序算法
倒序:从root结点左、右分支中找到最小的值,其中的小值即为整个排序对象中的最小元素,将该元素放在堆尾并固定位置,再次调整堆,每次调整都会产生一个当前调整范围的最小元素并固定,依次类推,最终调整结果就是一个大顶堆;正序反之: /** * @Description: 堆排序 * 大顶堆:arr[i] >= arr[2i+1] && arr[i] >= arr[2i+2] * 小顶堆:arr[i] <= arr[2i+1] && arr[i] <原创 2021-08-04 20:50:03 · 114 阅读 · 1 评论 -
归并排序算法
跟着注释不迷路: public class MergeSort { public static int[] sort(int[] array, int low, int high) { //将数组分为两半 int mid = (low + high) / 2; if (low < high) { //递归将左部分分半直到每半最多有一个 sort(array, low, mid);原创 2021-07-26 15:36:46 · 153 阅读 · 3 评论 -
希尔排序算法
关于希尔排序的介绍、复杂度等这里就不介绍了,直接看该算法的思路,每步都干什么写在了注释里,可以打开代码中注释掉的打印部分代码来查看具体的排序过程 排序方法: public class HillSort { public static int[] shellSort(int[] array) { // //打印说明 // System.out.println("数组元素[索引];halfLen为间隔;i、j为数组索引"); //数组长度原创 2021-07-26 11:39:38 · 119 阅读 · 0 评论 -
基数排序算法
跟着注释不迷路: public class BaseSort { public static int[] basicSort(int[] array) { //1、取出最大元素max int max = 0; for (int k : array) { if (k > max) { max = k; } } //2、(max为in原创 2021-07-26 11:43:46 · 143 阅读 · 2 评论 -
冒泡排序算法
每次从数组中取出一个最大的元素,最大元素是通过排除法排除非最大元素得到的 public class BubbleSort { public static int[] bubbleSort(int[] array) { //临时变量 int temp; //数组长度 int len=array.length; //每次循环都在遍历的数组范围中确定一个最大的值,遍历范围递减 for (int i = 0;原创 2021-07-26 11:47:40 · 187 阅读 · 2 评论