算法
冷66
这个作者很懒,什么都没留下…
展开
-
插入排序
1.原理分析 插入排序与打扑克牌是抓牌放位置的原理类似 2. 算法步骤 把第一个元素看成一部分(左),把第二到最后看成一部分(右), 每次拿第二部分中的第一个去和第一部分比较排序(如果待插入的元素(右)与有序序列中的某个元素(左)相等,则将待插入元素插入到相等元素的后面。) 3.核心重点 先把当前要比较的数拿出来,用一个变量(current = i)存放,以便后续比较。如果前一个下标(preIndex = i-1)>=0(即拿出来的数要是第二个及以后的),并且这个数比前一个数(preInd原创 2021-03-30 14:51:51 · 79 阅读 · 1 评论 -
选择排序
选择排序算法步骤代码演示运行结果 算法步骤 核心思想:将数组分为已排序和未排序两种情况, 先把未排序的第一个array[i]的下标用minIndex保存起来,再遍历数组, 把比array[i] 小的数的下标赋值给minIndex , 等一趟遍历结束,将未排序的第一个元素与下标为minIndex的元素进行交换位置。 代码演示 import java.util.Arrays; public class Test2 { public static void main(String[] args)原创 2021-03-30 14:05:29 · 115 阅读 · 2 评论 -
冒泡排序
冒泡排序 冒泡排序原理示意图 步骤: 以从小到大排序为例遍历原始数据 外层循环,控制比较的趟数,从第一个数开始,到倒数第二个数结束,(i=0,i<array.length-1),一共array.length-1 趟。 内层循环,控制比较的次数,每一趟中需要比较这个数 array[j] 和下一个数 array[j+1] 的大小, 如果这个数比下一个数大(array[j]>array[j+1]) , 则交换这两个数。这样便可以将数据中最大的数转移到数组的最后。 ...原创 2021-03-30 11:03:16 · 89 阅读 · 1 评论