我目前正在尝试显示总数。基于名称的 topicids 和 testids。但是我在做那个显示时遇到了麻烦。我最初有一个包含所有数据的向量。
例如
user1:name:topic1:test1
user1:name:topic2:test1
user2:name:topic1:test1
user2:name:topic2:test1
由于向量中有多个重复项,我想以以下格式显示:
username:name:numofTopics:numofTests
user1:name:2:2
user1:name:2:2
因此,我想将名称与向量中的下一个名称进行比较,并将元素推入一个名为 singleAcc 的新向量。这样做的目的是将重复元素显示为ONE元素。
下面是我显示数据的代码
vector<AccDetails> singleAcc;
for (vector<AccDetails>::iterator itr=accInfo.begin();itr!=accInfo.end()-1; ++itr) {
if (itr->name == itr[1].name) {
//cout << (*itr) << endl;
singleAcc.push_back(*itr);
}
}
for (vector<AccDetails>::iterator itr = singleAcc();itr!=singleAcc();++itr) {
cout << left
<< setfill(' ')
<< setw(20) << itr[0].username
<< setw(20) << itr[0].name
<< setw(20) << countTopics(itr->name)
<< setw(20) << countTests()
<< endl;
}
问题:在第一次向量迭代中,名称不会与 的最后一个元素 bcoz 进行比较accDetails.end()-1
。
如何将重复元素显示为一个元素?我在第二次迭代中所做的是否正确?
希望有人可以帮助我。还是有更好的方法来做到这一点?谢谢!