给定一个向量,我们如何在一个向量的单元格中存储3个元素。
例子:
Input : 2 5 10
3 6 15
Output : (2, 5, 10) // In first cell of vector
(3, 6, 15) // In second cell of vector
一种解决方案是创建用户定义的类或结构。我们创建一个具有三个成员的结构,然后创建此结构的向量。
// C++ program to store data triplet in a vector
// using user defined structure.
#include
using namespace std;
struct Test
{
int x, y, z;
};
int main()
{
// Creating a vector of Test
vector myvec;
// Inserting elements into vector. First
// value is assigned to x, second to y
// and third to z.
myvec.push_back({2, 31, 102});
myvec.push_back({5, 23, 114});
myvec.push_back({9, 10, 158});
int s = myvec.size();
for (int i=0;i
输出 :
2, 31, 102
5, 23, 114
9, 10, 158
另一种解决方案是在C++ STL中使用对类。我们将第一个元素作为普通元素,将第二个元素作为另一对作为一对,因此可以同时存储3个元素。
// C++ program to store data triplet in a vector
// using pair class
#include
using namespace std;
int main()
{
// We make a pair with first element as normal
// element and second element as another pair.
// therefore 3 elements simultaneously.
vector< pair > > myvec;
// For inserting element in pair use
// make_pair().
myvec.push_back(make_pair(2, make_pair(31, 102)));
myvec.push_back(make_pair(5, make_pair(23, 114)));
myvec.push_back(make_pair(9, make_pair(10, 158)));
int s = myvec.size();
for (int i=0; i
输出:
2, 31, 102
5, 23, 114
9, 10, 158
要从最佳影片策划和实践问题去学习,检查了C++基础课程为基础,以先进的C++和C++ STL课程基础加上STL。要完成从学习语言到DS Algo等的更多准备工作,请参阅“完整面试准备课程” 。