好了,所以我有一个这样的数组:C++从阵列合并重复的搜索结果
class name {
public:
string first;
int last;
name(string a, int b){
first = a;
last = b;
}
};
name arr[] { { "John", 1 }, { "Jane", 2 }, { "Dick", 3 }, { "John", 1 }, { "Jane", 2 } };
现在我只能全部打印出来是这样的:
int main() {
int icount = sizeof(arr)/sizeof(name);
for (int i = 0; i < icount; i++){
cout << arr[i].first << " " << arr[i].last << endl;
}
}
Output will be like this:
John 1
Jane 2
Dick 3
John 1
Jane 2
不过,我需要合并任何类似的结果,这意味着如果名称相同,我需要将它们后面的数字相加。所需的输出应该是这样的:
John 2
Jane 4
Dick 3
有没有我可以用它来合并它们,或者我应该如何去这样做的任何功能?
查找标准算法'唯一的()'或'unique_copy()'。根据您的需要,您可能需要先对容器进行分类。 – Peter