具有多种条件的向量迭代?

时间:2016-10-16 05:23:16

标签: c++ vector

假设您有以下Int的向量:

href

我需要编写某种形式的迭代,将所有递减的int推入单独的向量以及第一个增加的int。

所以对于V,我需要{5,4,3,2,1,6}

我最初的想法是使用for循环:

$("a.social_share_link").on("click", function(event) {
    event.preventDefault();
    var share_link = $(this).prop('href');
    window.open(share_link, '', 'scrollbars=1,height=500,width=500,left=500,top=100');
});

然而,此时我已经陷入困境,我怎样才能推回第一个增加元素(在这种情况下为6)?

2 个答案:

答案 0 :(得分:1)

您需要重新构建代码。例如:达到停止条件时中断。

std::vector<int> results;

for(int i = 0; i < v.size() - 1; ++i)
{
  results.push_back(v[i]);

  if(v[i] < v[i+1])
  {
    results.push_back(v[i+1]);
    break;
  }
}

答案 1 :(得分:0)

 bool decrease = false;
    for(i = 0; i < v.size() - 1; ++i)
    {   
        if(V[i] > V[i+1]) {
            decrease = true;
            results.push_back(v[i]);
        } else if(decrease == true) {
            break;
        }   

    }

您可以添加一个标志来表示减少序列是否已开始。