排序
掌握最基础的排序原理和逻辑代码
从零开始的小龙
我很懒,连最基本的简介都不想写Q^a^Q
展开
-
插入排序,要覆盖,不是交换!
每次循环找到无序部分的首元素和有序部分的末尾下标,比较对应的两值大小原创 2023-09-14 10:22:27 · 200 阅读 · 0 评论 -
冒泡排序有什么细节?怎么优化!
每次将较大值元素交换到后面,交换完一趟后,未排序数组部分的最大值放在已排序数组部分的前一个位置。在内层循环开始前添加标记位,如果标记位在冒泡期间未修改,说明数组已有序,可以直接结束循环。原创 2023-09-13 10:50:06 · 139 阅读 · 0 评论 -
计数排序,认为是最简单的排序!
由于用来计数的数组的长度取决于待排序数组中数据的范围,这使得计数排序对于数据范围很大的数组,需要大量时间和内存。计数数组中的值还原到原数组的值,将计数数组计数不为0的下标值存入原数组中,每存入一次,该下标对应的计数数组中的计数减一。因此在还原时,如果bucket数组中的值不为0,则将此值的下标放到原数组中,再将bucket数组的值减一,即计数减一。数组中值为6出现了一次,存入bucket数组下标为6的位置。原数组的最大值为6,那么申请计数数组的长度为7,并初始化为0。计数数组的下标对应原数组中的值。原创 2023-09-12 11:45:33 · 168 阅读 · 0 评论