STL 总结

本文介绍C++标准模板库(STL)中的关键数据结构和算法,包括迭代器的使用方法、优先队列的不同实现方式、排序结构体以及multimap和list的基本操作。适合初学者了解STL的基础组件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.迭代器(游标)

temp.begin()第一个元素

temp.end()最后一个元素的下一个位置

temp.rbegin()最后一个元素

temp.rend()第一个元素的前面一个位置


2.优先队列

priority_queue<int,vector<int>,greater<int> >q;//越小的整数优先级越大
priority_queue<int,vector<int>,less<int> >q;//越大的整数优先级越大

排序

struct node{
    int x,y;
    ll v;
    bool operator <(const node & obj)    const{ //为了排序
       return v<obj.v; 大的在前
    }
};

3.multimap 一对映pair

multimap<int,int>m;
m.insert(make_pair(1,2));//insert插入一个pair类型

4.list STL 链表

声明: list <int> l;

l.push_back()尾部插入一个节点

l.push_front()头部插入 一个节点

l.empty(); 是否空

l.clear() 清空

l.reverse() 翻转

a.merge(b,greater<int>());    b加到a中,并且b升序

for(list<int>::iterator it=l.begin();it!=l.end();){ 遍历list以及删除当前节点
            int a=*it;
            if(!bad[a]){
                q.push(a);
                l.erase(it++); //it++;
            }
            else    it++;
        }


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值