向量数组c ++ add edit remove search

时间:2018-02-21 08:44:07

标签: c++ arrays string vector

我想为一堆用户(不是特定数量的用户)编写一个程序,每个用户都有联系人详细信息,其中包含用户名,电话号码和电子邮件(所有字符串),所以我需要三列(const);

vector<string>info[3];

所以我的问题是如何添加和删除行(每个用户是一行)或搜索和编辑它们? 搜索[我希望每一行都有一个数字并按该数字搜索]

2 个答案:

答案 0 :(得分:0)

如果您创建了旨在管理单个用户信息的类,那会更好。

尽管如此,你仍然可以将vectorinfo [3]或之前提到的类的对象存储在标准容器中,如:

  • std::map
  • std::list
  • std::array甚至
  • std::vector

其中哪一个?

这完全取决于你将要做些什么    信息。您可以阅读有关每个标准容器的信息    文档。

答案 1 :(得分:0)

假设电子邮件是唯一的,请使用std::map,其中每个key都是电子邮件,valuestd::vector或存储用户名和电话号码的数组

地图通常实现为二叉搜索树。因此,搜索元素(键)的时间复杂度为Log(N)

#include <map>
#include <vector>
#include <string>
...

std::map<std::string /* email */, std::vector<std::string>> users;