day1 C++ vector 用法(摘抄)

因为它以数组的形式储存,所以它的内存空间是连续的。可以在运行中根据需要改变数组的大小。

基本操作:

        头文件 #include<vector>

        创建vector对象 vector<int>vec;//默认初值都为0

        尾部插入数组a:        vec.push_back(a);

        插入元素:    vec.insert(vec.begin()+i,a);在第i个元素后面插入a

        删除元素:    vec.erase(vec.begin()+a);删除第a+1个元素

            vec.erase(vec.begin()+i,vec.end()+j);删除区间[i,j-1]

                               vec.pop_back();删除末尾的元素

        使用下标访问元素:        cout<<vec[0]<<endl;记住下标是从0开始的。

        使用迭代器访问元素:        vector<int>::iterator it;
                                                  for(it=vec.begin();it!=vec.end();it++)
                                                       cout<<*it<<endl;</span>

        向量大小:        vec.size();

        清空:        vec.clear();//vec.size()等于0

常用方法:

        1.vector<int>a                                  创建一个动态数组a,a的默认初值为0

        2.vector<int >b(a)                             将a中的元素复制到b中

        3.vetcor<int>a(100)                          将数组a的元素定义为100个,默认初始值为0

        4.vector<int>a(100,6)                       定义100个值为6的元素

        5.vector<string>a(10,"null")              定义10个值为null的元素

        6.vector<string>a(10,"hello")             定义10个值为hello的元素

        7.vector<string>b(a.begin(),a.end())  将动态数组a的元素值复制到b中

常用操作:

        1.a.push_back(100)                            在尾部加入一个值为100的元素

        2.a.size()                                              返回数组中元素的个数

        3.bool isEmpty=a.empty()                    判断a是否为空,若为空返回true,若不为空则返回false

        4.cout<<a[0]<<endl                               输出数组的大小

        5.a.insert(a.begin+i,k)                           在第i个元素前插入k

        6.a.insert(a.end(),10,5)                         在末尾插入10个值为5的元素

        7.a.pop_back                                        删除末尾元素

        8.a.erase(a.begin()+i,a.begin()+j)         将[i,j-1]的元素都删除

        9.a.erase(a.begin()+i)                           将第i+1个元素删除

        10.a.resize(n)                                        将数组重置为n个元素

        11.a.clear()                                             清空数组

        12.reverse(a.begin(),a.end())                 将数组逆转

        13.sort(a.begin(),a.end())                       将数组从小到大排序
————————————————
版权声明:本文为CSDN博主「一个傻傻的程序员」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/glsjh/article/details/123467985

定义一个字符串容器:vector<string>vec//可看作二维数组

获得二维数组的行数:nums.size();
获得二维数组的列数:nums[0].size()

例题:

给你一个整数 n ,找出从 1 到 n 各个整数的 Fizz Buzz 表示,并用字符串数组 answer(下标从 1 开始)返回结果,其中:

answer[i] == "FizzBuzz" 如果 i 同时是 3 和 5 的倍数。
answer[i] == "Fizz" 如果 i 是 3 的倍数。
answer[i] == "Buzz" 如果 i 是 5 的倍数。
answer[i] == i (以字符串形式)如果上述条件全不满足。

class Solution {
public:
    vector<string> fizzBuzz(int n) {
        vector<string>answer;
        for(int i = 1;i <= n;i++)
        {
            if(i % 3 == 0 && i % 5 == 0)
                answer.push_back("FizzBuzz");
            else if(i % 3 == 0)
                answer.push_back("Fizz");
            else if(i % 5 == 0)
                answer.push_back("Buzz");
            else
                answer.push_back(to_string(i));//将整型转换为字符串型
        }
        return answer;
    }
};
输入:n = 3
输出:["1","2","Fizz"]

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值