其他分享
首页 > 其他分享> > 2022.7.19 $\mathcal{S\,\,T\,L}$

2022.7.19 $\mathcal{S\,\,T\,L}$

作者:互联网

\(STL\)

容器的共有特征:.begin() .end()//表示最后一个元素的后面那个位置 .size()//无符号整型 .swap(b) ::iterator//迭代器

关于迭代器

迭代器可以看做是一个广义的指针,可以是指针,也可以是对其进行类似指针操作的对象。

list<int>::iterator it;//it是迭代器名称
list<int>a;
for(it=a.begin();it<=end();it++)
    cout<<*it<<endl;
void out(int n)
{
    cout<<n<<endl;
}
for_each(a.begin(),a.end(),out);

list--双向链表

list是一个双向链表,可以在固定时间插入删除,不支持数组表示法(无下标)和随机访问。

merge(x):将链表x与调用链表合并,合并前两个链表必须已经排序,合并后经过排序,合并后经过排序的链表保存在调用链表中,x为空;

remove(val):从链表中删除val中的所有实例

sort():对链表进行排序//a.sort()

splice(pos,x):将链表x的内容插入到pos前面,x将为空。

unique():将连续的相同元素压缩为单个元素//去重

其他的成员函数:
.front() .back() .push_front(t) .push_back(t) .pop_front(t) .pop_back(t) .insert(p,t)//插入,p是一个指针,在所指位置之前插入一个t(可以是链表或值) .erase(p)//擦除,p也是一个指针类型 .clear()

stack--栈

queue--队列

priority_queue--优先队列

deque--双端队列

标签:迭代,19,链表,--,mathcal,front,2022.7,排序,指针
来源: https://www.cnblogs.com/sqrthyy/p/16491773.html