手写代码
softbreezee
java开发学习者
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
面试常问--快速排序
文章流程: 思路——代码——分析——改进 【思路】 排序过程: 快排是制分的思路,首先将一个随机的元素放在数组中本该存在的位置,然后将小于该元素的放在左面,大于该元素的放在右面。 partition过程: 对于数组[l...r]每次选取最左面的元素arr[l],声名两个指针i,j,i用于遍历数组,j用于存放小于arr[l]的元素,范围是[l+1...j]。 【代码】 pub...原创 2018-09-25 21:26:22 · 687 阅读 · 0 评论 -
面试常问--堆排序
文章流程: 思路——代码——分析——改进 【思路】 堆排序有两种,一种利用堆的特性,先构建最大堆,每次得到最大堆的堆顶元素;另一种是直接原地使用堆排序。 原地堆排序: 将数组构建成堆,交换数组的第一个元素和最后一个元素。依次对除去最后的元素的剩下数组进行排序。 【代码】 原地排序: public class Main{ public static void ma...原创 2018-09-25 23:01:07 · 971 阅读 · 0 评论
分享