📜  如何在C++中将数据三元组存储在向量中?

📅  最后修改于: 2021-05-30 11:52:33             🧑  作者: Mango

给定一个向量,我们如何在一个向量的单元格中存储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等的更多准备工作,请参阅“完整面试准备课程”