数组与vector数组的使用

一,数组的使用

1,声明数组

如double balance[10];

2,从初始化数组

double balance[5] = {1000.0, 2.0, 3.4, 7.0, 50.0};

或double balance[] = {1000.0, 2.0, 3.4, 7.0, 50.0};

3.获取数组长度

sizeof(b)/sizeof(b[0]);

4,排序与逆序

#include<algorithm>

int nums[6]={2,4,5,1,7,3};

sort(nums,nums+6,less<int>());//正序

sort(nums,nums+6,greater<int>());//逆序

二,vector的使用

1,定义和初始化vector对象

vector<T> v3(n,val); //v3中包含n个重复元素,每个元素的值都是val;

如vector<int> nums(numbers.size(),0);

注意:

也可以vector<int> nums;来构造一个没有声明大小的vector,但之后只能先用nums.push_back()来先插入元素;

2,vector的长度

v3.size();

3,向vector对象中添加对象

利用vector的成员函数push_back向其中添加对象,如:

v1.push_back(22); //向v1末尾添加个元素22;

4,删除元素

pop_back()删除最后一个元素;

empty()判断该数组是否为空

5,排序与逆序

#include<algorithm>

sort(v1.begin(),v1end())//将v1正向排序 即按照从小到大的顺序排序

sort(v1.rbegin(),v1.rend());//将v1反向排序 即按照从大到小的顺序排序

6,两个vector拼接

nums1.insert(nums1.end(),nums2.begin(),nums2.end());//将nums2数组拼接到nums1后面;

注:

注意sort( ,  ,  compare() )函数的用发,可以在compare自定义比较方法!!

struct compare{
     bool operator()(valuetype a, valuetype b){
         return  

    }
};

比如牛客网例题:

class Solution {
public:
    struct compare{
        bool operator()(string a,string b){
            return a+b<b+a;
        }
    };
    string PrintMinNumber(vector<int> numbers) {
        vector<string> nums;
        for(int i=0;i<numbers.size();i++){
            nums.push_back(to_string(numbers[i]));
        }
        sort(nums.begin(), nums.end(),compare());
        string res="";
        for(int i=0;i<numbers.size();i++){
            res+=nums[i];
        }
        return res;
    }
};

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值