在c ++中实现程序,通过附加其他两个向量输出第三个向量

时间:2013-12-10 22:35:03

标签: c++ vector integer

我是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} !!

1 个答案:

答案 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是上述算法的实例。