C++ 集合&链表

Teacher_wang Just Do It 2025-02-07 10:27:46 13

集合

1.set<type>s;//创建一个type类型的集合

2.s.insert(x);//插入元素x

3.s.erase(x);//删除值为x的元素

4.s.erase(it);//删除it所指的元素

5.s.end();//返回末尾哨兵的迭代器

6.s.find(x);//查询x,不存在返回s.end()

7.s.empty();//判断是否为空

8.s.size();//返回集合的大小

9.s.upper_bound(x);//查询大于x的最小元素,使用方法与二分查找一致

10.s.lower_bound(y);//查询不小于(大于等于)y的最小元素,使用方法与二分查找一致

11.for(set<int>::iterator i=st.begin();i!=st.end();i++)cout<<*i<<" ";//遍历一个set

链表

1.list<int> l;//定义一个int类型的链表l

2.int arr[5]={1,2,3};list<int>l(arr,arr+3);//从数组中批量复制元素,括号内是首地址与尾地址的下一个地址

3.l.size()//返回链表l的元素个数

4.list<int>::iterator it;//定义一个名为it的迭代器(指针)

5.l.begin()//链表l开始的迭代器指针

6.l.end();//链表l结束的迭代器指针

7.it++;it--;//迭代器指向前一个或后一个元素

8.l.insert(it,x);//在迭代器it前插入元素x

9.l.pop_front();//删除链表开头

10.l.pop_back();//删除链表末尾

11.l.push_front(x);//在链表开头插入x

12.l.push_back(x);//在链表末尾插入x

13.l.erase(it);//删除迭代器it所在的元素

14.for(it=l.begin();it!=l.end();it++);//遍历链表

{{ vote && vote.total.up }}

共 1 条回复

Teacher_zhao 老师

qp