3 //number of lines
1 2
2 1
4 5
Я хочу сохранить n строк в виде 2d-вектора, как лучше всего это сделать?
3 //number of lines
1 2
2 1
4 5
Я хочу сохранить n строк в виде 2d-вектора, как лучше всего это сделать?
int t;
cin>>t;
std::vector<std::vector<int>> Vec(t, std::vector<int>(2, 0)); // replace zero with some value if you wanna intiallize vector.
for(int i=0; i<t; i++){
for(int j=0; j<2; j++{
cin>>Vec[i][j];
}
}
именно так я всегда инициализирую 2d-вектор и ввожу ввод. Я чувствую, что нет ничего более эффективного.
std::cin
более эффективен, но требует использования функций C, таких как scanf()
.
- person cdhowie; 03.08.2020
std::vector<std::pair<int, int>>
— это один из вариантов.std::vector<std::array<int, 2>>
это другое. - person Ted Lyngmo   schedule 03.08.2020std::vector<std::array<...>>
. - person cdhowie   schedule 03.08.2020static_assert
, чтобы гарантировать отсутствие заполнения. - person cdhowie   schedule 03.08.2020