打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
vector 与 set区别

vector 与 set区别

      首先,vector是序列式容器而set是关联式容器。set包含0个或多个不重复不排序的元素。也就是说set能够保证它里面所有的元素都是不重复的。另外对set容器进行插入时可以指定插入位置或者不指定插入位置。如insert(v.begin(),1),也可以直接用insert(1)。还有一点是

set对一些操作符没有进行重载,如<

下面是举个例子:

 

 

  1. #include <iostream>  
  2. #include <list>  
  3. #include <vector>  
  4. #include <deque>  
  5. #include <set>  
  6. using namespace std;  
  7. int main(void)  
  8. {  
  9.     vector<int> v;  
  10.     v.insert(v.begin(),1);  //如果使用insert(1)不指定插入位置,会出错  
  11.     v.insert(v.begin(),2);  
  12.     v.insert(v.begin(),1);  
  13.     v.insert(v.begin(),3);  
  14.     vector<int>::iterator vp = v.begin();  
  15.     for(vp = v.begin();vp < v.end(); vp++)  
  16.         cout << *vp << endl;  
  17.     return 0;  
  18. }   
  19.   
  20. 运行程序输出的结果是:  
  21. 3  
  22. 1  
  23. 2  
  24. 1  

 

  1. #include <iostream>  
  2. #include <list>  
  3. #include <vector>  
  4. #include <deque>  
  5. #include <set>  
  6. using namespace std;  
  7. int main(void)  
  8. {  
  9.     set<int> v;  
  10.     v.insert(v.begin(),1);  
  11.     v.insert(v.begin(),2);  
  12.     v.insert(v.begin(),1);  
  13.     v.insert(v.begin(),3);  
  14.     set<int>::iterator vp = v.begin();  
  15.     //for(vp = v.begin();vp < v.end(); vp++)  //如果使用这句会出错,因为set容器对<没有重载  
  16.     while(vp!=v.end())  
  17.         cout << *vp++ << endl;  
  18.     return 0;  
  19. }  
  20.   
  21. 运行后结果是:  
  22. 1  
  23. 2  
  24. 3  
  25. 也就是说,set容器对有重复的元素只取其中的一个。  

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
学习C++
C++vector
(C++)STL中map按照vaule来排序
set以及使用举例--C++基础
UC头条:C 常见容器一网打尽
STL模板总结
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服