【发布时间】:2023-01-07 11:57:25
【问题描述】:
我有一个结构向量,每个结构都有一个数字 ID,我用它来对向量项进行排序。我希望对 ID 进行排序,但也希望在排序后按它们在原始向量中的顺序出现。让我解释...
假设您有一个这样的向量(忽略结构):
vector<int> items = {
1,
2,
5, // First 5
8,
9,
6,
5, // Second 5
4,
7,
3,
5, // Third 5
10
};
排序后我希望矢量看起来像这样:
vector<int> items = {
1,
2,
3,
4,
5, // First 5
5, // Second 5
5, // Third 5
6,
7,
8,
9,
10
};
请记住,这些项目实际上是结构。多个可以具有相同的 ID,但其他属性的值不同。现在,我认为结构在排序后没有可预测的顺序。有没有办法确保这种输出?我可以向结构添加另一个属性来指示它们的原始顺序,并以某种方式在排序算法中使用它吗?
【问题讨论】: