C++ STL

1、vector是一种容器,是变长数组。

2、vector<int> s 或者vector<int> s[100] 后者是二维数组。

3、插入元素 s.push_back(456)     删除元素 s.pop_back(44) 

4、两种访问方式

(1)s[0] s[1] s[s.size()-1] //s.size() 表示大小

(2)迭代器 vector<int>::iterator p = s.begin()

5、清除元素 s.erase(p) or s.erase(p+2) 里面是迭代器!! or s.erase(s.begin()+1,s.end() ) ;

5.5(1)include<algorithm> 里面的  reverse函数 当a为数组时,int a[10]可以用reverse(a,a+4)

若是  vector<int> a   则reverse里面需要迭代器  

(2)若没有说明 vector<int> a(8) 即这个(8),那么直接写

不会输出结果。  

加上后就有结果了 

 

 

6、插入元素 s.insert(s.begin(),-456);

7、三种遍历方式

注意 vector<int>::iterator p=s.begin() 这句一定要在 push 或者insert之后,不然不会输出。

最后写在括号内

(1)
for(int i=0;i<s.size();i++){
		printf("%d ",s[i]);
	}

(2)
	vector<int>::iterator p=s.begin();
	vector<int>::iterator p1=p;
	for(;p!=s.end();p++){               // 不支持i<s.end()
		printf("%d ",*p);
	}
(3)

	for(int i=0;i<s.size();i++){
		printf("%d ",*(p1+i));
	}

2、set

1、set<int>  a  是  升序 去除重复元素   的容器。

2、set  只能使用迭代器  iterator 

3、set  不支持 上图中 (3)的遍历方式  不支持  *(  it + i )

4、set 里的insert(456)  是直接插入元素,与vector不同(     insert(s.begin(),456)              )

5、erase 同样两种方式  注意 s.erase(a.begin(),a.end())  后者是last的范围是指下一个元素,

  

4没有被删除,即删除【first,last)

6、clear()  size() 同vector

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值