八大排序
java八大排序
正经人谁写博客啊
这个作者很懒,什么都没留下…
展开
-
java归并排序
2、拆分:从中间位置拆开,分为左右两部分,继续操作,直到个数为1时停止。3、将拆分后的数据进行两两比较排序,逐渐增加(2、4、8···)1、先拆分、在合并,合并的过程中借助临时空间进行排序。原创 2024-06-03 21:40:03 · 180 阅读 · 0 评论 -
java基数排序
1、按照0-9定义十个空间,将数据按照个位,十位、百位····依次进行排序(每一进制位排完序后取出,按照下一进制位再次排序,重复操作,直到最高位)原创 2024-06-03 17:28:35 · 114 阅读 · 0 评论 -
java希尔排序
4、直到无法继续分组,步长为1的时候整个数组成为一组,组内插入排序。1、将待排序数组按照数组长度的一半作为间隔进行分组。2、定义j游标,将间隔作为步长,组内进行比较、交换。3、将待排序数组按照数组长度。5、注意i为i++,依次遍历。原创 2024-06-03 16:43:07 · 164 阅读 · 0 评论 -
java插入排序
2、若arr[j+1]的值大,则数据到达正确位置;若arr[j+1]的值小,则j和j+1的数值进行交换。1、定义游标j指向i的前一个数值,j和j+1进行比较。3、将游标指向的数据按照大小插入已经排好序的数组中。1、假设待排序数组当中的第一个数值已经排好序。2、定义一个游标从第二个数值开始往后遍历。原创 2024-06-03 15:03:41 · 383 阅读 · 0 评论 -
java选择排序
2、找到排序数组当中真正的最小值,然后与第一个数值进行交换。1、默认待排序数组当中的第一个数为最小值。3、一轮结束后,真正的最小值到达正确位置。原创 2024-06-03 12:04:19 · 87 阅读 · 0 评论 -
java快速排序
2、定义一个j游标,j沿着待排数组从后向前移动,找到第一个比基准数小的数值停下。7、以基准数为分界点,分为左右两部分,重复上述操作,直到数据全部拆分为止。3、定义一个i游标,i从前向后移动,找到第一个比基准数大的数值停下。6、基准数与相遇位置的数据进行交换,基准数到达准确位置。1、定义待排序数组的第一个数为基准数。5、重复2,3,4,直到i和j相遇。原创 2024-06-03 11:21:46 · 441 阅读 · 0 评论 -
java堆排序
2、堆顶元素(最大值)与堆底元素进行交换,换下的元素(堆顶)不再参与构建,剩下的元素继续构建大顶堆。1、用完全二叉树构建大顶堆(大顶堆:父节点的值大于或等于其子节点的值)3、不断重复2操作,直到所有数据不再参与构建。原创 2024-05-30 16:01:05 · 76 阅读 · 0 评论 -
java冒泡排序
前后两个数据进行比较,然后交换,大的往后,小的往前,一轮结束后有一个数据到达正确位置。优化:后边数据已经做完排序,不需要重复比较,可减去已比较数据。原创 2024-05-30 15:16:36 · 373 阅读 · 0 评论