C++代码入门02:Vector中的push_back-LMLPHP

图源:文心一言

上机题目练习整理,本篇作为线性表的代码补充,提供了两种(差别并不大)算法,供小伙伴们参考~🥝🥝

  • 第1版:在力扣新手村刷题的记录
    • 方法一:自己写的普通答案,借助辅助容器,循环+赋值;
    • 方法二: 文心一言 老师提供的建议,借助辅助容器,循环+Push_back~🧩🧩

编辑:梅头脑🌸

题目:1470. 重新排列数组 - 力扣(LeetCode)


📇目录

📇目录

🧵转换小写字母的题目

🧩题目

🌰方法一:常规赋值解法

🌰方法二:使用push_back

🔚结语


🧵转换小写字母的题目

🧩题目

🌰方法一:常规赋值解法

📇算法思路

 ⌨️算法代码

class Solution {
public:
    vector<int> shuffle(vector<int>& nums, int n) {
        vector<int> nums1(2 * n);   // 初始化nums1的大小为2n
        for (int i = 0; i < n; i++) {
            nums1[2 * i] = nums[i]; // 取x部分的元素
            nums1[2 * i + 1] = nums[n + i]; // 取y部分的元素
        }
        return nums1;
    }
};

 ⌨️温馨提示

🌰方法二:使用push_back

📇算法思路

 ⌨️算法代码

class Solution {  
public:  
    vector<int> shuffle(vector<int>& nums, int n) {  
        vector<int> result; // 创建一个空的result vector  
        // 遍历数组的前半部分(x部分)和后半部分(y部分)  
        for (int i = 0; i < n; i++) {  
            // 依次将x部分的元素和y部分的元素添加到结果vector中  
            result.push_back(nums[i]);          // 添加x部分的元素  
            result.push_back(nums[n + i]);      // 添加y部分的元素  
        }  
        return result; // 返回重新排列后的数组  
    }  
};

⌨️知识扩展

push_back功能

push_back性能

 方法一与方法二的比较


🔚结语

博文到此结束,写得模糊或者有误之处,欢迎小伙伴留言讨论与批评,督促博主优化内容{例如有错误、难理解、不简洁、缺功能}等,博主会顶锅前来修改~~😶‍🌫️😶‍🌫️

我是梅头脑,本片博文若有帮助,欢迎小伙伴动动可爱的小手默默给个赞支持一下,感谢点赞小伙伴对于博主的支持~~🌟🌟

同系列的博文:🌸数据结构_梅头脑_的博客-CSDN博客

同博主的博文:🌸随笔03 笔记整理-CSDN博客

01-19 13:10