对vector和map容器的删除元素操作

/**
 * 删除头部元素
 * 切割map到指定的个数
 * @param map
 * @param i
 * @return
 */
map<int, Rect> PublicCardFrameDetection::cutmap(map<int, Rect> map, int i) {
    int map_num = map.size();
    if (map_num > i){
        auto iter = map.begin();
        map.erase(iter);
        return cutmap (map,i);
    } else if (map_num == i){
        return map;
    }
}


/**
 * 弹出尾部元素
 * 切割列表为指定元素
 * @param mats
 * @param i
 * @return
 */
vector<Mat> PublicCardFrameDetection::splitList(vector<Mat> mats, int i) {
    int list_num = mats.size();
    if (list_num > i){
        mats.pop_back();
        return splitList(mats,i);
    } else if (list_num == i) {
        return mats;
    }
}

猜你喜欢

转载自www.cnblogs.com/lx17746071609/p/11589591.html