STL学习笔记

本文详细介绍了STL(标准模板库)的定义、主要类型,包括Vector、Set、Map、Pair、Queue、Priority_queue、Deque和Stack的操作及示例。讲解了各组件的功能、插入删除方法,并通过具体代码展示其使用场景。
摘要由CSDN通过智能技术生成

文章目录
1、STL的定义
2、STL类型
3、Vector
4、Set
5、Map
6、Pair
7、Queue和Priority_queue和Deque
8、Stack

一、STL的定义

STL的意思是标准模版库。它们采用了模版类和模版函数的方式,可以不用自己手写插入、删除等操作。STL的代码广义分为三类:算法、容器和迭代器。


二、STL类型

STL主要由 vector , list , deque , set , map , stack , queue构成。由于list和deque极度相似,下面就不讲了。


三、Vector

Vector是一种动态数组,就是不需要数组下标。它的输入,要先读入一个数,在压入vector,不能直接输入。
例:
(1)、普通数组

int a[1000011];

(2)、Vector

vector <int> a/*不需要写下标(注意:这是一维数组)*/;
vector <int> a[10011]/*这是二维数组*/;

使用vector,需要用 bits/stdc++.h(万能头) 或 vector。
vector里面定义了插入、删除、清空等操作,代码如下:

a.push_back(2);//输入数据2
a.insert(a.begin()+x,y);//在x位置插入y
a.erase(a.begin()+x);//删除x~y的元素
a.clear();//清空
sort(a.begin()+x,a.begin()+y);//对区间x~y排序	
reverse(a.begin()+x,a.begin()+y);//反转区间x~y
remove(a.begin()+1,a.begin()+y,x);//移动区间中值为x的元素

vector的输出,可以用迭代器,也可以用数组下标。
代码如下:

/*数组下标:*/
for (int i = 0 ; i < v.size () ; i ++ ) cout << v[i] << " ";
cout << endl;

/*迭代器:*/
vector <int> :: iterator it;
for (it = v.begin () ; it != v.end () ; it ++ ) cout << *it << " ";
cout << endl; 

四、Set

Set也是动态数组,可以自动实现去重和排序。什么意思呢?就是说,你输入一些数据,它会自动去重、排序。Set的输入,也要先读入数据,在insert进Set。

例:

//例:
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值