c++STL容器整理笔记

c++STL容器:【使用以下容器都需加上相应的头文件】vector:(vector所有例子中的vi为 vector vi)1.变长数组,长度可以根据需要而自动改变的。2.定义要求:需要到头文件加#include 3.eg:** **需要定义类型 ,**并且类型与定义名之间必须要有空格4.访问:****(1)通过下标访问​ (2)迭代访问器:​ 定义为:vector​ 类似于
摘要由CSDN通过智能技术生成

c++STL容器:

【使用以下容器都需加上相应的头文件】

vector:

(vector所有例子中的vi为 vector vi)

1.变长数组,长度可以根据需要而自动改变的。

2.定义要求:需要到头文件加#include

3.eg:**

**需要定义类型 ,**并且类型与定义名之间必须要有空格

4.访问:****(1)通过下标访问

(2)迭代访问器:

定义为:vector

类似于指针

【begin()函数作用便是取数组vi的首地址,end()函数作用为取尾元素下一位的地址】eg:

常用函数

push_back()

push_back() 【push_back(x)就是在vector后面加一个x元素】

pop_back()

pop_back()【pop_back()就是删除末尾元素】

size()

【size()用来知道vector元素个数】eg:

clear()

​ 【其是用来清空vector中所有元素】eg:

vi.clear()即可生效

insert()

【插入元素到数组任意位置】eg:

erase()
1.删除单个元素

​ eg:

​ vi.erease(vi.begin() + 3); //删除第三个元素

2.删除一个区间的元素

​ eg:

​ vi.(vi.begin() + 1,vi.begin() + 3) //删除的元素为vi[1],vi[2]

set:

(定义一个set st;)

​ 1.set为一个自动有序额且不含重复元素的容器

​ 2.set的定义:

​ set name;(与vector一样,也需要到类型与定义名之间加入空格)

​ sets name[arraySize];

​ 3.set内元素访问:

​ 只能通过迭代访问:

​ set::iterator it; //it为定义名,可以更换

​ for(set::iterator it = st.begin();it != st.end();it++){

​ cout<<*it<<endl;

​ }

常用函数

insert()

​ 【insert(x)可将x插入到set容器中,您去会自动梯增排序和取重】

​ eg:

​ st.insert(2);

​ st.insert(3);

find()

​ 【find(x) x为set中的迭代器】

​ eg:

​ set::iterator it = st.find(x);

erase()

​ 【两种用法:删除单个元素;删除一个区间的所以元素】

​ eg:

1.单个删除

​ (1) st.erase(it) // it为所要删除元素的迭代器,一般结合find()函数使用如st.erase(st.find(x)) ;

​ (2)st.erase(x) // x为所要删除的值如st.erase(200);

2.区间删除

​ st.erase(first,last)first为所需删除区间的起始迭代器,last为所要删除区间的末尾迭代器的下一个地址

​ eg:

​ set::iterator it = st.find(x)

​ st.erase.(it,st.end());

size()

​ 同理上面,用来确定容器的元素个数的

​ eg:

​ st.size();

clear()

​ 【用来清除所有元素】

​ eg:st.clear();

string

​ 1.定义:string str; eg: string str = “abda”;

​ 2.string 通过下标内容访问 eg:

​ for(int i = 0;i < str.length();i++){

​ cout<<str[i];

​ }

​ (1)输入字符串:

​ cin>>str;

​ (2)输出字符串:

​ cout<<str;

​ 3.通过迭代器访问 eg:

​ for(string::iterator it = str.begin();it != str().end();it++){

​ cout<<*it<<endl;

​ }

常用函数

operator+=

​ eg:

​ string str1 = “abd”,str2 = “abc”,str3;

​ str3 = str1 + str2;</

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值