c++ vector方法

  1. push_back():将元素插入到vector的末尾。
vector<int> myvector; myvector.push_back(1); myvector.push_back(2);

  1. pop_back():从vector的末尾删除元素。
  2. size():返回vector中元素的数量。
  3. empty():如果vector为空,则返回true。
  4. clear():删除vector中的所有元素。
  5. front():返回vector的第一个元素。
  6. back():返回vector的最后一个元素。
  7. insert():将元素插入到vector中的指定位置。
    vector<int> myvector {1, 2, 3};
    myvector.insert(myvector.begin() + 1, 4); // myvector = {1, 4, 2, 3}

  8. erase():从vector中删除指定位置的元素。
    vector<int> myvector {1, 2, 3}; 
    myvector.erase(myvector.begin() + 1); // myvector = {1, 3}
  9. min

    min_element(wc.begin(), wc.end()) != wc.end()

  10. max
    max=distance(t.begin(),max_element(t.begin(),t.end()));
    max_element(wc.begin(), wc.end()) != wc.end()
struct Stu{
    int xh;
    int score;
};
 stu.push_back({.xh=xh,.score=score})
cout << stu[i].xh << " " << stu[i].score << endl;
  1. stable_sort(stu.begin(),stu.end(),cmp);
    bool cmp(Stu x,Stu y){
        if( x.score==y.score)return x.xh<y.xh;
        else return x.score<y.score;
    }

  2. find_if()(详解)

函数原型

template< class InputIt, class UnaryPredicate >
InputIt find_if( InputIt first, InputIt last, UnaryPredicate p );

其中UnaryPredicate p是一个函数

bool isEven(int n)
{
    return n % 2 == 0;
}

如果判断的值是变量则

struct Student{
    string num;
    string name;
    string gender;
    int age;
};
string targetNum;
cin >> targetNum;
auto it = find_if(stu.begin(), stu.end(), [&targetNum](const Student& s){ return findNum(s, targetNum); });

其中p为

[&targetNum](const Student& s){ return findNum(s, targetNum); }

bool findNum(const Student& s, const string& target)
{
    return s.num == target;
}
if (it != v.end()) {
        cout << "The first even number is " << *it << endl;
    } else {
        cout << "No even number found!" << endl;
    }
auto f=[&targetNum](const Student& s){
                 return s.num == targetNum; 
                 };
            auto it = find_if(stu.begin(), stu.end(),f);

10.std::vector::assign()std::vector 的一个成员函数,用于将新的元素替换掉当前的元素。该函数有多种重载形式,其中一种常用形式是:

std::vector<int> vec{1, 2, 3, 4, 5};
vec.assign(3, 0);  // 将 vec 中的元素替换为 0, 0, 0

11

void printVector(const std::vector<int>& vec) {
    for (int num : vec) {
        std::cout << num << " ";
    }
    std::cout << std::endl;
}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值