lower_bound and upper_bound

            vector      v1_old;
            vector   ::iterator   Iter = v1_old.begin();

            v1_old.push_back(   10   );
            v1_old.push_back(   10   );
            v1_old.push_back(   20   );
            v1_old.push_back(   20   );
            v1_old.push_back(   20   );
            v1_old.push_back(   30   );
            v1_old.push_back(   30   );
            v1_old.push_back(   30   );

            vector   ::iterator   IterLowerBound = lower_bound(v1_old.begin(), v1_old.end(), 20); // 返回 v1_old[2]

            int nBegin = distance(v1_old.begin(), IterLowerBound); // nBegin = 2,顺数第 2


            int nEnd = distance(v1_old.end(), IterLowerBound); // nEnd = 6,倒数第 6

            vector   ::iterator   IterUpperBound = upper_bound(v1_old.begin(), v1_old.end(), 20);// 返回 v1_old[5]

你可能感兴趣的:(开发应用)