• 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容器对有重复的元素只取其中的一个。 
  • 相关阅读:
    hibernate---核心开发接口1(重点)
    hibernate--联合主键(了解+,掌握-)
    hibernate---table_Generator
    hibernate---ID生成策略
    hibernate 注解写在哪?
    hibernate学习笔记--可选的配置属性
    软件开发的硬约束【转载】
    (2016春) 作业7: 用户体验设计案例分析
    (2016春) 第一阶段优胜者
    (2016春) 作业6 :团队作业
  • 原文地址:https://www.cnblogs.com/zzyoucan/p/3567770.html
Copyright © 2020-2023  润新知