STL容器与算法

144 阅读1分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第3天,点击查看活动详情

简介

STL是一种标准模板库。迭代器和C++中的指针很类似。个人感觉使用STL可以有效提高代码的效率。

一、STL格式

不同的容器对应着不同的迭代器,他们的迭代器命名格式如下:

迭代器定义具体格式
正向迭代器容器类名::iterator 迭代器名;
常量正向迭代器容器类名::const_iterator 迭代器名;
反向迭代器容器类名::reverse_iterator 迭代器名;
常量反向迭代器容器类名::const_reverse_iterator 迭代器名;

二、STL算法

查找算法

查找重复值算法

删除与替换算法

三、常用的容器

  • vector:优点是连续存储,空间利用率高,缺点是首尾控制效率不高。
  • list:优点是双向链表,由于这个是分散存储的,所以更容易造成内存泄漏,可在任意位置进行插入删除。缺点是不像array,vector一样可以利用位置访问。
  • deque:优点是随机访问,查询效率很高,也可以双端pop和push。缺点是占用内存很多,不适合在中间位置的插入删除的操作。

四、完结

本文结束。