码迷,mamicode.com
首页 > 编程语言 > 详细

一个简单的查找替换算法

时间:2020-03-16 21:39:57      阅读:67      评论:0      收藏:0      [点我收藏+]

标签:替换算法   style   return   ide   算法   name   std   erase   ace   

#include<iostream>
#include<vector>

using namespace std;


bool _insert_single_video(
            std::vector<int>* all_tmp_res,
            const int insert_pos,
            int single_video) {
    
    int cur_pos = 0;
    auto it = all_tmp_res->begin();
    auto it_last_pos = it;
    int insert_success = 0;
    while (it != all_tmp_res->end()) {
        if (cur_pos == insert_pos) {

            cout << "test--------1:"<< cur_pos << endl;

            it = all_tmp_res->insert(it, single_video);
            it_last_pos = it;
            ++it;
            ++cur_pos;
            insert_success += 1;
            continue;
        }
        if (*it == single_video) {
            
            cout << "test--------2:"<< *it<< endl;
            
            it = all_tmp_res->erase(it);
            it_last_pos = it;
            insert_success += 2;
            break;
        }
        else {
            cout << "test--------3:"<< *it<< endl;
            ++it;
            ++cur_pos;
        }
    }
    if (insert_success != 3) {
        cout << "test--------4:"<< insert_success<< endl;
        
        if (insert_success == 1) {
        
            cout << "test--------5:"<< insert_success <<":" << *it_last_pos<< endl;
            //Undo insert-
            all_tmp_res->erase(it_last_pos);
        }
        if (insert_success == 2) {
            //Undo erase
            cout << "test--------6:"<< insert_success <<":" << *it_last_pos<< endl;
            all_tmp_res->insert(it_last_pos, single_video);
        }
        return false;
    }
    return true;
}


int main() {
    
    vector<int> v;
    int a[11] = {0, 1, 9, 3, 4, 5, 6, 7, 8, 9, 10};
    v.insert(v.begin(), a, a+11);
    
    _insert_single_video(&v, 7, 9);

    for (auto it = v.begin(); it != v.end(); it++) {
        cout << *it <<endl;
    }
    return 0;
}

 

一个简单的查找替换算法

标签:替换算法   style   return   ide   算法   name   std   erase   ace   

原文地址:https://www.cnblogs.com/pengwang52/p/12506822.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!