STL

 

  • vector

vector  <int> aaa;

vector.push_back()

vector.pop_back();

 

vector.size()

sort(vector.begin(), vector.end());

vector.clear()

 

v.insert(v.begin() + 3, a);

v.erase(v.begin() + 3);

v.erase(v.begin() + 3, v.begin() + 5);

 

对vector数组(二维)排序时考虑使用vector<vector<int> > 而不是vector<int> V[100]

 

 

  • map

1.查找某个键值:

if (map.find(str) != map.end()) {
	return map[str];
}

2.遍历 (迭代器不是指针,是类模板,表现的像指针。)

    it->first          //直接就是数据,不是指针!!!

    it->second

3.map中存放数组

1)使用vector       2)使用结构体,结构体里面存放数组

[转载]C++中 使用数组作为map容器VAlue值的解决方法

  • queue

 

queue.push() ;  queue.pop();        入队;出队

 

queue.front();   queue.back();       取队首,队尾元素

queue.empty();

queue.size()

 

 

  • priority_queue

使用的是堆来进行排序

定义:greater<int> 是按从小到大排序 ,less<int>按从大到小。相当于定义大顶堆,小顶堆。

          使用greater<int> 需包含头文件 #include <functional>

priority_queue<int, vector<int>, greater<int> > que;

 

que.push() ;  que.pop();        入队;出队

que.top();                              取队头(即堆顶)元素

 

  • stack

stack里面没有clear,要使用

while(!S.empty()){   
                    S.pop();
            }

 

  • set

使用红黑树按升序排列

set<int> st;

set只能通过iterater来访问

set<int>::iterator it = set.begin();

 

st.insert();    //插入

st.erase(it);  // 删除

it = st.find(2); //查找元素, 返回迭代器

 

迭代器

// set<int> S
for (set<int>::iterator it = S.begin(); it != S.end(); it++) {
	printf("%07d\n", *it);
}

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值