排序专栏
这是一个算法专栏
Gingost
nooooooooooooooooob
展开
-
排序算法之快速排序
//尝试着手写,写出来的东西多多少少有点问题,不纠结了,凑合着用吧 //此处哨兵j为什么要第一个走有空了写一个快排的专题 public class Quick { public static void sort(int[] arr, int L, int R) { if (L >= R) { return; } int left = L; int right = R; int mid =原创 2021-01-21 21:27:27 · 69 阅读 · 0 评论 -
排序算法之插入排序
插入排序 //插入排序,插入排序简单理解为,从第二个数开始,我们称第二个数为被插数,先使用一个临时变量存储被插数 //然后将用临时变量和前面的数比较,如果大于前面的数,则不管跳出循环,否则,将前面的数后移一位 //说是后移,其实在数组中体现的是将第前面的数赋值给被插数,本质上是将前数赋值给被插数,然后在向前比较,直到前数不在大于或者前数下标为0收手 //最后判断临是否等于被插数,如果不等则说明发生移位,相等则说明没发生 //这里就出现很多人不理解为什么num要赋值给j+1,因为每次比较j都是在前面的一个数字原创 2021-01-21 17:55:29 · 68 阅读 · 0 评论 -
排序算法之选择排序
排序算法之选择排序 //选择排序的原理在于,假定数组第一个数为最小,从第二位数字依次向后遍历, //如果发现有比第一个数更小的,则交换位置 //循环一次后,最小的数则置于第一位,第二轮遍历则假定第二个数字最小, //从第三个数字依次向后遍历,直到循环结束,选择排序就算完成 public class Select { public static void sort(int[] arr) { for (int i = 0; i < arr.length - 1; i++) {原创 2021-01-21 11:19:28 · 55 阅读 · 0 评论 -
排序算法之二分法
二分法 package lzzy; public class ErFenFa { // 递归二分法查找 public int RunOfRe(int[] a, int start, int end, int flag) { int mid = (end - start) / 2 + start; if (flag > a[mid]) { return RunOfRe(a,...原创 2019-10-16 15:21:43 · 182 阅读 · 0 评论 -
排序算法之冒泡排序
冒泡排序` public class MaoPao { // 左冒泡升序排序 public int[] LeftSort(int[] a) { for (int i = 0; i < a.length - 1; i++) { for (int j = a.length - 1; j > i; j--) { if (a[j] < a[j - 1]) { ...原创 2019-10-16 15:17:15 · 65 阅读 · 0 评论