C++ 两个vector对象拼接方式

 更新时间:2022年11月07日 09:12:17   作者:猿六凯  
这篇文章主要介绍了C++ 两个vector对象拼接方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

两个vector对象拼接

今天刷leetcode,需要将两个相同类型的vector拼接,发现不能像python一样使用+号处理。

经过查阅资料,可以使用insert()函数。

class Solution {
public:
    vector<vector<int>> subsets(vector<int>& nums) {
       
        vector<vector<int>> res({100});
        for (int n : nums) {
            vector<vector<int>> temp;
            for (auto r : res) {
                r.push_back(n);
                temp.push_back(r);
            }
            res.insert(res.end(), temp.begin(), temp.end());//从end()位置开始,将后面的vector拼接在后面(不包括temp.end())。
        }
        return res;
    }
};

merge函数合并两个vector

在完成合并两个vector的时候纠结这个合并操作如何实现,经过搜索后发现可以用c++ algorithm的merge函数实现合并和排序这两个功能。

具体要求参照标准库.

https://cplusplus.com/reference/algorithm/merge/?kw=merge

合并两个vector

#include<iostream>
#include<algorithm>
#include <vector>
using namespace std;
int main()
{
  vector<int> v1,v2;
  int num1,num2;
  cin>>num1;
  while (num1!=-1)
  {
    v1.push_back(num1);
    cin>>num1;
  }
  cin>>num2;
  while(num2!=-1)
  {
    v2.push_back(num2);
    cin>>num2;
  }
  vector<int> v3;
  v3.resize(v1.size()+v2.size());
  merge(v1.begin(), v1.end(), v2.begin(), v2.end(), v3.begin());
  sort(v3.begin(),v3.end());
  
  for(int i = 0;i<v3.size()-1;i++){
      cout<<v3[i]<<" ";
  }
  cout<<v3[v3.size()-1];
}

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • c/c++中的左值右值详解

    c/c++中的左值右值详解

    这篇文章主要介绍了c/c++中的左值右值,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2025-04-04
  • C++学习进阶篇之类大小计算和this指针

    C++学习进阶篇之类大小计算和this指针

    this是C++中的一个关键字,也是一个const指针,它指向当前对象,通过它可以访问当前对象的所有成员,下面这篇文章主要给大家介绍了关于C++学习进阶篇之类大小计算和this指针的相关资料,需要的朋友可以参考下
    2023-04-04
  • C语言中炫酷的文件操作实例详解

    C语言中炫酷的文件操作实例详解

    内存中的数据都是暂时的,当程序结束时,它们都将丢失,为了永久性的保存大量的数据,C语言提供了对文件的操作,这篇文章主要给大家介绍了关于C语言中文件操作的相关资料,需要的朋友可以参考下
    2021-10-10
  • C++选择文件夹代码的封装

    C++选择文件夹代码的封装

    这篇文章主要介绍了C++选择文件夹代码的封装,实例展示了将选择文件夹功能代码封装为一个类并对其进行实例化调用的过程,对于学习C++程序设计有不错的参考价值,需要的朋友可以参考下
    2014-10-10
  • QT编写地图实现设备点位的示例代码

    QT编写地图实现设备点位的示例代码

    在地图应用的相关项目中,在地图上标识一些设备点,并对点进行交互这个功能用的最多的,于是需要一套机制可以动态的添加、删除、清空、重置。本文将详细介绍这些功能如何实现,需要的可以参考一下
    2022-01-01
  • c++ 让程序开机自动启动的方法

    c++ 让程序开机自动启动的方法

    这篇文章主要介绍了c++ 让程序开机自动启动的方法,需要的朋友可以参考下
    2017-09-09
  • 浅析STL中的常用算法

    浅析STL中的常用算法

    以下是对STL中的常用算法进行了详细的介绍,需要的朋友可以过来参考下,希望对大家有所帮助
    2013-09-09
  • C语言自定义类型的保姆级讲解

    C语言自定义类型的保姆级讲解

    这篇文章主要给大家介绍了关于C语言自定义类型的保姆级讲解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-03-03
  • 浅谈c++中的异常处理机制

    浅谈c++中的异常处理机制

    C++异常处理机制通过try/catch/throw结构处理运行时错误,本文就来介绍一下c++中的异常处理机制,具有一定的参考价值,感兴趣的可以了解一下
    2025-02-02
  • C语言中sizeof 和 strlen的区别

    C语言中sizeof 和 strlen的区别

    sizeof 和 strlen 是两个常用于 C/C++ 语言中的函数或操作符,本文主要介绍了C语言中sizeof 和 strlen的区别,具有一定的参考价值,感兴趣的可以了解一下
    2024-08-08

最新评论