日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學(xué)無先后,達(dá)者為師

網(wǎng)站首頁 編程語言 正文

C++?兩個vector對象拼接方式_C 語言

作者:猿六凱 ? 更新時間: 2022-12-07 編程語言

兩個vector對象拼接

今天刷leetcode,需要將兩個相同類型的vector拼接,發(fā)現(xiàn)不能像python一樣使用+號處理。

經(jīng)過查閱資料,可以使用insert()函數(shù)。

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函數(shù)合并兩個vector

在完成合并兩個vector的時候糾結(jié)這個合并操作如何實現(xiàn),經(jīng)過搜索后發(fā)現(xiàn)可以用c++ algorithm的merge函數(shù)實現(xiàn)合并和排序這兩個功能。

具體要求參照標(biāo)準(zhǔn)庫.

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];
}

原文鏈接:https://blog.csdn.net/u014339447/article/details/108837862

欄目分類
最近更新