-
简要介绍:
-
STL(Standard Template Library),即标准模板库,是一个具有工业强度的,高效的C++程序库。该库包含了诸多在计算机科学领域里所常用的基本数据结构和基本算法。为广大C++程序员们提供了一个可扩展的应用框架,高度体现了软件的可复用性。
-
序列式容器:vector,list,stack,queue, string
-
关联式容器:set,mapSTL迭代器
-
算法:容器内查找、排序、删除、替换(四种常见操作)
(优势:代码量会少很多,而且简洁,用系统自带的库里的容器还可以避免超限情况)
-
-
容器对比:(以vector和list为例);
类别 vector list 底层实现 动态数组 双向列表,非连续空间 新增和删除元素 可能需要内存申请和释放、拷贝旧数据,效率较低 很快 访问元素 支持下标随机访问 不支持下标随机访问 适用场景 高效的随机访问,效率更高 需要高效的插入删除
应用实例:(list)
-
BUCTOJ 2529: 寻找第K大的数题目描述:要求在N个不重复的整数中,找出第K大的整数 ,其中0
#include
#include #include using namespace std; int main() { int n,k; cin >> n >> k; vector data; for (int i = 0;i < n;i++) { int t; cin >> t; data.push_back(t); } sort(data.begin(),data.end()); cout << data[n-k]< -
map
BUCTOJ 2300: 销售排行榜题目描述:你的任务是帮助淘宝网店店长整理销售数据,根据累计的销售记录,将所有商品按销售数量降序排列。输入格式:输入包括多行数据(行数小于100000),每行数据包括4个信息,分别是商品名称、销售数量、单价、成交日期;商品名称由小写字母组成,且不超过100个字符,销售数量和单价都是正整数,且小于10000。输出格式:输出包括多行数据,将所有在输入中出现的商品按销售数量降序排列,每行的信息包括商品名称、销售数量、销售额
#include#include #include



