c++容器

    xiaoxiao2021-12-10  16

    container容器的分类:

    -序列化容器 每个元素都有固定位置,,取决于插入时机和地点,和元素值无关 vector deque list

    -关联式容器,,元素位置取决于特定的排序准则,和插入顺序无关,set multiset map multimap

    Vectors

    将元素置于一个动态数组中加以管理

    可以随机存取元素

    数组尾部添加或移除元素非常快,但其他部位很麻烦

    #include <iostream>

    #include <vector>

    using namespace std;

    int main(){

    vector<int> coll;

    for(int i=1;i<=6;i++){

    coll.push_back(i);

    }

    for(int i=0;i<coll.size();++i){

    cout << coll[i]<< ' ';

    }

    cout << endl;

    }

    vectors是在栈上。。

    能变长但变长不多的情况下用vector

    list的example

    #include<functional>

    #include<list>

    #include<iostream>

    #include<algorithm>

    using namespace std;

    template <typename T> //function template

    void print_elements(T elem)

    {

     cout << elem << " ";

    }

    void (*pfi)(int) = print_elements;

    void main()

    {

    int ia[7] = {0,1,2,3,4,5,6};

    list<int> ilist(ia,ia+7);

    for_each(ilist.begin(), ilist.end(), pfi);

    ilist.push_back(7);

    ilist.push_back(0);

    ilist.push_bach(7);

    ilist.push_back(9);

    for_each(ilist.begin(), ilist.end(), pfi);

    ilist.remove_if(bind2nd(modules<int>(), 2));//去除所有奇数

    for_each(ilist.begin(), ilist.end(), pfi);

    }

    转载请注明原文地址: https://ju.6miu.com/read-700414.html

    最新回复(0)