不同人fon 2023-07-19 17:52 采纳率: 25%
浏览 28
已结题

c++vector容器

原本想实现一个数组将自身内容添加到末尾,原本数组的元素为[1,2,3],后面输出后为123125,我需要的是123123,将过程输出一下,给我爆出这个玩意,每次的值都不一样,是什么问题

img

以下是源码


#include <iostream>
#include <vector>
using namespace std;
class Solution {
public:
    vector<int> getConcatenation(vector<int>& nums) {
        
        vector<int>::iterator temp=nums.end();
        for(vector<int>::iterator it=nums.begin();it!=temp;it++)
            {
//                cout<<*it<<" ";
                nums.push_back(*it);
                cout<<*it<<" ";
                
            }
        cout<<endl;
        return nums;
    }
};
int main(int argc, char *argv[]) {
    vector<int>v;
    v.push_back(1);
    v.push_back(2);
    v.push_back(3);
    Solution s;
    vector<int>v2;
    v2.resize(2*v.size());
    v2=s.getConcatenation(v);
    for(vector<int>::iterator it=v2.begin();it!=v2.end();it++)
        {
            cout<<*it<<" ";
        }
    return 0;
}
  • 写回答

3条回答 默认 最新

  • Loup&卡普 2023-07-19 18:47
    关注

    Solution里 那个函数有点问题 使用迭代器访问时 添加删除元素都会影响 end 的位置

    vector<int> cp = nums;
    for (int i = 0; i < nums.size(); ++i)
    cp.push_pack(nums[i]);
    
    return cp;
    

    你可以看下这个 2.2.2
    http://t.csdn.cn/kQtyW

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 7月27日
  • 已采纳回答 7月19日
  • 创建了问题 7月19日

悬赏问题

  • ¥20 WPF MVVM模式 handycontrol 框架, hc:SearchBar 控件 Text="{Binding NavMenusKeyWords}" 绑定取不到值
  • ¥15 需要手写数字信号处理Dsp三个简单题 不用太复杂
  • ¥15 数字信号处理考试111
  • ¥100 关于#audobe audition#的问题,如何解决?
  • ¥15 allegro17.2生成bom表是空白的
  • ¥15 请问一下怎么打通CAN通讯
  • ¥20 如何在 rocky9.4 部署 CDH6.3.2?
  • ¥35 navicat将excel中的数据导入mysql出错
  • ¥15 rt-thread线程切换的问题
  • ¥15 高通uboot 打印ubi init err 22