假设我有1个名字矢量和另一个电话号码矢量。首先,用户将输入姓名(未排序,意味着他们不是从a到z组织),然后,用户将输入相应的电话号码。
在填写两个向量之后,程序然后在名称向量(向量1)中执行排序机制。问题现在是向量2,(因为没有采用机制将它映射到向量1)。
示例:
vector name | vector telephone
f 232132
a 34242342
b 997345
the result will be
vector name | vector telephone
a 232132
b 34242342
f 997345
如您所见,矢量电话尚未调整。怎么能调整这个?感谢
答案 0 :(得分:5)
创建一个结构,该结构包含名称的字符串和电话号码的字符串/ int。线性浏览并记录名称信息。再次浏览并记录手机#信息。然后排序。
如果您不想创建类,可以使用pair对象。
vector<pair<string,int> > nameAndNumber;
编辑:修复了一个错误,谢谢smocking
答案 1 :(得分:1)
矢量电话尚未调整。我们怎样才能调整这个?
通过在数据结构中组合实体“name”和“telephone”,然后使用其vector
。
struct NameNumber {
std::string t_Name;
unsigned long t_Number;
bool operator < (const NameNumber&) const; // use 't_Name' inside
};
std::vector<NameNumber> v;
为了完整解决方案,我提到了operator <
,它将根据名称对vector
进行排序。