我是c ++的新手,我有一个需要解决的问题,所以这里是我的问题的摘要。 假设我们有X,Y,Z向量并且它们具有整数值,并且它们分别具有大小M,N和M + N.向量X和Y中的数字具有从最小到最大数字的值。因此,我必须在C ++中编写一个程序,通过将X和Y与该顺序(从最小到最大)附加来输出第三个向量Z.例如,我们有X = {0,2,4}和Y = {1,3,5},那么Z应该是Z = {0,1,2,3,4,5} !!
答案 0 :(得分:0)
如果对两个初始向量进行排序,则任务非常简单:您只需使用std::merge
将两个向量合并在一起:
std::vector<int> x; // your X
std::vector<int> y; // your Y
std::vector<int> z;
std::merge(
std::begin(x), std::end(x),
std::begin(y), std::end(y),
std::back_inserter(z)
);
here是上述算法的实例。