排序
这里是小飞啊
本人室友是大佬,他是互联网行业。5年+一线工作经验,有着世界500强,跨国企业工作经验,我耳濡目染,也有一定知识。
展开
-
排序之快速排序(原理、时间复杂度、代码)
一、准备部分1.数据存储结构:#define MAXSIZE 1024typedef int KeyType;typedef struct { KeyType key;}RcdType;typedef struct { RcdType r[MAXSIZE + 1]; int length;}Sqlist;2.基本操作包括对数据表的初始化、打印和排序时的元素交换,代码如下。//数据结构打印void print(Sqlist* list) { for (in原创 2021-10-30 10:46:52 · 233 阅读 · 0 评论 -
堆排序(思想+代码)
堆排序步骤:将待排序的数组构造成一个大顶堆(最大值在顶部的堆),取出最大的值,把数组当前最后一个元素换上去,再将数组堆化,这样顶部又是最大的值了,在取出最大值,把数组当前最后一个元素换上去......最终完成排序。构造大顶堆的方法:一个个读入数组元素,按照满二叉树的方式一个个插入,当它大于父节点的时候就和父节点换位置,然后再比较换完位置后与当前的父节点的关系,如果还是大于当前父节点再换,直至不在大于父节点。public class heap_sort { public static原创 2021-11-16 20:23:40 · 420 阅读 · 0 评论 -
归并排序:排序思想+代码
归并排序的步骤:1.把要排序的数字串总中间分开,分别排左边和右边2.对于左面的数字串,一样从中间分开,分成左和右......直到剩下1个数字时返回,把他和右边的数字归并。注意:每次都是先对左面进行排序在排序右边,最后归并,而且为保证排序的稳定性,相等的值要把原来就在左边的排在左面 。public class merge_sort { public static void main(String[] args) { int []arr = new int[]{8,原创 2021-11-15 20:52:10 · 718 阅读 · 0 评论