问题:我需要按照精确的顺序对一个字符串向量进行排序。假设我们有一个具有精确顺序的常量向量或数组:
接下来,我们有一个动态的输入向量,其中的项可能被混合并且数量较少。
所以我需要按照第一个向量"correctOrder"的顺序对"incomming"向量进行排序,结果必须为:
vector<string> correctOrder = {"Item3", "Item1", "Item5", "Item4", "Item2"};
接下来,我们有一个动态的输入向量,其中的项可能被混合并且数量较少。
vector<string> incommingVector = {"Item1", "Item5", "Item3"};
所以我需要按照第一个向量"correctOrder"的顺序对"incomming"向量进行排序,结果必须为:
vector<string> sortedVector = {"Item3", "Item1", "Item5"};
我认为正确的顺序可能以不同的方式表示,但无法弄清楚。 有人能帮我吗?
std::sort
进行实际排序是一个不错的开始。我还建议阅读有关lambda表达式,以提供自定义比较函数,然后将其传递给std::sort
使用。 - Some programmer dudecorrectOrder
中的元素来获取元素的相对位置?我不知道,从问题中并不是很清楚。 - Some programmer dude