排序查找
文章平均质量分 69
1*null
喜欢可爱的女孩子,喜欢学习,喜欢敲代码
展开
-
堆栈排序算法
堆排序维护的二叉树是一颗完全二叉树,大顶堆用来升序排序,要求父节点大于等于左右子节点。而小丁堆用来降序排序,要求父节点小于等于左右子节点。/* 堆排序 * 如果按升序排序,就维护最大堆,降序就维护最小堆 * 这里我们按升序讲 * 每次把最大元素放在堆顶,然后交换数组的头尾两个元素,这样数组的最后一个 * 元素就是最大的,然后依次找出剩下的元素中的最大元素,交换,这样就会得到 * 一个升序...原创 2018-03-04 21:56:50 · 964 阅读 · 0 评论 -
归并排序
/* * 归并排序 * 每次都只是操作两个序列,比如3,2,6,5 * 第一次3与2,合成一个有序序列2,3: 在hebing函数中的low,mid,high分别为(0,1,1) * 第二次6与5,合成一个有序序列5,6:在hebing函数中的low,mid,high分别为(2,2,3) * 第三次有序序列2,3与有序序列5,6合并成2,3,5,6:在hebing函数中的low,mid,...原创 2018-03-30 13:22:10 · 127 阅读 · 0 评论 -
快速排序
快速排序的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。/* * 快速排序就是先选定一个基准值(参考值,你随便叫) * 然后通过从两头遍历发现符合条件的就赋值交换,直到该基准值的两边 * 一边的元素都大于基准值,一边的元素...原创 2018-03-31 22:30:24 · 96 阅读 · 0 评论