【发布时间】:2014-09-24 19:46:58
【问题描述】:
我有几个具有相同数据类型的向量。
v < int > = {5,4,1,2}
v2 < int > = {2,4,3,5,1,6,8,7}
v3 < int > = {1,4,2,3}
有任何方法可以对向量 v2 、 v3 ... 相对于向量 v using STL of C++(algorithm) 进行排序,以便
排序后 v2 将是 {5,4,1,2,3,6,7,8} 当它相对于 v 排序时,v3 将是 {4,1,2,3} 当它相对于排序时到 v 。
Edit:
有些人可能不清楚。
让我解释一下..
排序后的向量有两个部分,一个是 A,另一个是 B。
A 包含向量 v 的元素,即 A 是 v 的子集,它遵循与 v 中相同的顺序
B 包含给定向量(v_i) 的剩余元素{v_i - A} 并且已排序。
所以对于排序后的向量 v2 将是
v2 = A union B
A = {5,4,1,2}
B = {3,6,7,8}
【问题讨论】:
-
请注意,这里没有 STL,也没有标头
algorithm.h。 -
目前还不完全清楚(至少对我而言)您要在这里完成什么。相对于 B 对 A 进行排序是什么意思(对于 A 和 B 的任何值)?
-
@user3919801 将是
algorithm,而不是algorithm.h。而你的描述仍然像伦敦的秋天雾一样清晰。 -
@WhozCraig 已更新,它在旧编译器中:P
标签: c++ sorting vector stl stl-algorithm