摘要: 插入排序试用于小数据且基本有序的数组,因为每次插入数据都要遍历比较大小。那么大数据且基本无序的数组呢。 这是需要时用到希尔排序,希尔排序是分组版本的插入排序。 如何分组? 假设又如下数组: {49,38,65,97,76,13,27,49,55,04} 第一次分组,增量一般是一半 那么此时增量是5, 阅读全文
posted @ 2020-08-26 16:51 RookieCoderAdu 阅读(182) 评论(0) 推荐(0)
摘要: 插入排序思路: 1.默认第一个数已经排好序了,从第二个数开始,向已经排好序的数组里面插入 2.从已排好序的最后一位开始扫描,如果大于要插入的数,则将后面的数整体后移,继续向前扫描,直到不大于或者序号小于0,则插入此处 3.继续下一个数插入,直到所有数都插入到数组中 如何实现整体后移? 实际上是从最后 阅读全文
posted @ 2020-08-26 14:25 RookieCoderAdu 阅读(116) 评论(0) 推荐(0)
摘要: 选择排序的思路: 1、首选从数组中寻找最小(大)元素,放在数组的起始位置。 2、在从剩余的数中寻找最小(大)元素,放在第二位,以此类推。 这样便起到了筛选的作用,一直以最小或最大的原则进行选择 代码实现 int[] arr = { 1, 9, 2, 4, 6, 7, 3 }; for(int i = 阅读全文
posted @ 2020-08-26 10:58 RookieCoderAdu 阅读(125) 评论(0) 推荐(0)
摘要: 冒泡排序的方法: 1.比较相邻的两个数,如果后一个数比前一个数大(小),便交换他们的位置 2.比较每一组相邻的两个数的大小,直到最后一组,按照步骤1的规则排序 3.重复以上操作 按照上面的做法,那么排在前面的大数便会慢慢的往后移动,就好像水里的泡泡慢慢往上升一样 值得注意的是,需要循环交换位置,这样 阅读全文
posted @ 2020-08-26 10:28 RookieCoderAdu 阅读(132) 评论(0) 推荐(0)