二分查找和插入

来源:互联网 发布:爱的算法txt 编辑:程序博客网 时间:2024/04/29 16:23

    bool bfind = false;
    int low = 0, high = max-1, mid = 0;
    while(low <= high)
    {
     mid = (high + low) / 2;
     cmp = 比较函数【-1,0,1】
     if (cmp < 0) {
      low = mid + 1;//mid往右移动
     } else if(cmp > 0) {
      high = mid - 1;//mid往左移动
     } else {
      bfind = true;
      break;
     }
    }

    if (bfind) {

      //找到处理

    } else {

      //没有找到,这里如果处理插入low表示插入位置

      //可以做如下处理

     if(low >= max) {

      //最后追加数据

     } else {

      //前面插入数据,包括最开始位置/0位置

     }

    }

 

原创粉丝点击