int * bsearch(int *t, int n, int x) {
int *lo = t;
int *hi = t + n;
while(lo < hi) {
int *mid = lo +((hi - lo)>>1);
if(x < *mid) {
hi = mid;
} else if(x > *mid){
lo = mid + 1;
} else {
return mid;
}
}
return NULL;
}

程序

1.考虑指针代替数组,节省运算开销(寻址方面);

2.两个指针相加问题的避免;

3.不对称思想的运用。

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-12-03
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2021-05-21
  • 2021-08-10
  • 2022-02-20
  • 2021-06-06
  • 2021-09-24
  • 2021-05-30
  • 2021-10-25
相关资源
相似解决方案