请帮忙看看这段折半查找代码
bool fd(vector <int> &vec,int num){ bool rtr = false; bs(vec); vector <int>::size_type i = 0, beg = 0, end = vec.size() - 1, mid = 0; while (beg < vec.size() && beg >= 0 && end >= 0 && end < vec.size() && vec[beg] <= vec[end]) { mid = (beg + end)/2; if ( vec[mid] < num) beg = mid + 1; else if ( vec[mid] > num ) end = mid - 1; else { rtr = true; break; } } return rtr;}