C++容器
文章平均质量分 76
C++容器
-眼里有星河-
这个作者很懒,什么都没留下…
展开
-
string容器(简洁版)
string构造函数string(); //创建一个空字符串 string str; string(const char* s); //使用字符串s初始化 string str("hello"); string(const string& str); //使用string对象初始化另一个string对象 string str(s1); string(int n,char c); //使用n个字符c初始化 st...原创 2022-01-31 15:45:00 · 98 阅读 · 0 评论 -
vector容器
vector基本概念普通数组的区别数组是静态空间,vector容器可以动态扩展,增加长度动态扩展并不是在原空间之后续接新空间,而是找到比原来更大的内存空间,将原数据拷贝到新空间,释放原空间vector容器的迭代器是支持随机访问的迭代器vector构造函数vector<T> v ; //使用模板类,默认构造函数 vector(v.begin(),v.end()); //将[v.begin()...原创 2022-02-01 14:39:29 · 1315 阅读 · 0 评论 -
deque容器
deque基本概念deque是一个双端数组,可以对头端和尾端进行插入和删除操作deque和vector的区别:deque对于头部的插入和删除效率比vector高vector访问元素时速度比deque快,这和两者的内部实现有关deque内部工作原理deque内部有个中控器,维护每段缓冲区中的内容,缓冲区中存放数据中控器维护的是每个缓冲区的地址,使得使用deque时像一片连续的内存空间deque的迭代器是支持随机访问的迭代器deque构造函数deque&l..原创 2022-02-01 15:02:30 · 1266 阅读 · 0 评论 -
stack容器和queue容器
stack容器stack基本概念stack是一种先进后出的数据结构,只有一个出口stack常用接口构造函数stack<T>stk; //stack采用模板类实现,stack对象的默认构造形式 stack(const stack& stk); //拷贝构造函数赋值操作stack& operator=(const stack &stk); //重载=操作符数据存取push(e...原创 2022-02-01 15:34:12 · 1868 阅读 · 0 评论 -
list容器
list基本概念 list是一种物理存储单元上非连续的存储结构,数据元素的逻辑顺序是通过链表中的指针链接实现的。功能: 将数据进行链式存储。链表的组成:链表由一系列结点组成。结点的组成:一个是存储数据元素的数据域,另一个是存储下一个结点地址的指针域。由于链表的存储方式并不是连续的内存空间,因此链表list中的迭代器只支持前移和后移,属于双向迭代器。 list的优点:采用动态存储分配,不会造成内存浪费和溢出; 链表执行插入和删除操作十分方便,修改指针即可,不需要移..原创 2022-02-01 15:59:42 · 101 阅读 · 0 评论 -
set容器
set基本概念简介: 所有元素都会在插入时自动被排序。本质: set/multiset属于关联式容器,底层结构是用二叉树实现。set和multiset的区别:set不可以插入重复数据,而multiset可以; set插入数据的同时会返回插入结果,表示插入是否成功。 multiset不会检测数据,因此可以插入重复数据。set构造和赋值构造函数set<T> st; //默认构造函数 set(const set &st); //拷贝构造函数赋值操作..原创 2022-02-01 16:17:56 · 506 阅读 · 0 评论 -
map容器
基本概念map中所有元素都是pair pair中第一个元素为key(键值),起到索引作用,第二个元素为value(实值) 所有元素都会根据元素的键值自动排序本质: map/multimap属于关联式容器,底层结构是用二叉树实现优点: 可以根据key值快速找到value值。map和multimap的区别:map不允许容器中有重复key值元素 multimap允许容器中有重复key值元素map构造和赋值构造函数map<T> m; //默认构造函数 map(c.原创 2022-02-01 16:39:04 · 387 阅读 · 0 评论