c ++ vector insert begin [closed]

0

Я не знаю, как использовать метод вставки векторов, у меня есть проблема с этим простым кодом:

#include <iostream>
#include <vector>

int main () {

std::vector<int> v1(3);
std::vector<int> v2(3);

for(int i = 0; i < 3; i++)
    v1[i] = i + 1;

for(int i = 0; i < 3; i++)
    v2[i] = i + 4;

for(int i = 2; i <= 0; i--)
    v1.insert(v1.begin(), v2[i]);

for(int i = 0; i < v1.size(); i++)
    std::cout << v1[i] << std::endl;

return 0;

}

почему у меня есть видеовыход 1 2 3, а не 4 5 1 2 3?

  • 0
    используйте push_front () :-)
  • 5
    for(int i = 2; i <= 0; i--) он же NOP
Показать ещё 5 комментариев
Теги:
vector

1 ответ

1
Лучший ответ

Условие в цикле

for(int i = 2; i <= 0; i--)
    v1.insert(v1.begin(), v2[i]);

это неверно. Таким образом, цикл пропускается. Я думаю, вы имели в виду

for(int i = 2; i >= 0; i--)
    v1.insert(v1.begin(), v2[i]);

Ещё вопросы

Сообщество Overcoder
Наверх
Меню