- 博客(2)
- 收藏
- 关注
原创 编程珠玑之快速排序
我们将需要划分的目标区间定位[l, u]。首先给定目标值t = x[l]。我们需要重新组织x[l...u],使得所有小于t的元素都在m的一端,所有大于t的元素在m的另一端。初始时m = l,我们将i从l+1一直遍历到u,代码在检测第i个元素时必须考虑两种情况。如果x[i]>=t,那么一切正常,不变式为真;如果x[i]void q_sort_ori(int *a, int low, in
2017-09-07 15:15:08 371
原创 编程珠玑之二分搜索
问题:使用二分搜索返回找到元素的位置,找到第一次出现的位置,找到最后一次出现的位置,分别使用循环和递归编写代码原始的二分搜索int bs(int *a, int low, int high, int target){ while(low < high){ if(a[low] == target) return low; int mid = (low+high)/2; if
2017-09-06 14:37:39 248
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人