C++STL模板库序列容器之List容器】的更多相关文章

目录 一丶List容器的存储结构 二丶丶STL中list容器的使用. 一丶List容器的存储结构 list容器底层是链表结构来维护的.跟vector不一样. vector是数组维护的.拥有连续内存.所以可以使用[] 运算符操作.list底层是链表维护.内存不连续.所以不能使用[]运算符. 且对比vector添加了新的方法.因为底层是链表.所以可以对头尾进行删除或者添加元素. 二丶丶STL中list容器的使用. #define _CRT_SECURE_NO_WARNINGS #include <s…
目录 STL之Vecter 一丶STL简介 二丶Vector用法 1.vector容器的使用 2.vector迭代器. 3.vector中的方法. 三丶常用算法 1.常见算法中的算法方法. 2.sort()方法的使用 3.find()方法使用 4.删除容器中的元素 三丶vector操作类或者结构体 STL之Vecter 一丶STL简介 STL 是标准模板库的意思. 就是数据结构,封装成类让我们使用. 使用的时候我们要了解数据结构才可以使用这些类.因为数据结构不知道是什么结构你用类的话也用不明白.…
目录 一丶队列容器deque简介 二丶使用代码演示 一丶队列容器deque简介 deque底层跟vector一样,都是数组维护.不同的是可以操作头部. 二丶使用代码演示 #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <stdlib.h> #include <time.h> #include <algorithm> #include <iostream> #include &…
目录 一丶关联容器简介.set/multiset 二丶演示代码. 一丶关联容器简介.set/multiset 我们的序列容器,底层都是线性表构成的. 比如 vector list deque. 关联容器底层就是红黑树. 以set集合为例. set内部元素根据其值自动排序.每个元素的值只允许出现一次.不能重复. multiset 跟set一样.只不过值可以重复. 二丶演示代码. #include <set> using namespace std; int main(char *argc, ch…
目录 一丶关联容器map/multimap 容器 二丶代码例子 1.map的三种插入数据的方法 3.map集合的遍历 4.验证map集合数据是否插入成功 5.map数据的查找 6.Map集合删除元素以及清空元素 7.map中常用的函数 一丶关联容器map/multimap 容器 map容器跟以上的容器都不同,它是一个 表存储结构. 也就是存储表的一个结构. 存储的是 key-value的方式. 所以我们使用的需要执行key的方式,以及key对应的value 它底层的实现结构也是key value…
泛型程序设计的基本概念 编写不依赖于具体数据类型的程序 将算法从特定的数据结构中抽象出来,成为通用的 C++的模板为泛型程序设计奠定了关键的基础 术语:概念 用来界定具备一定功能的数据类型.例如: 将“可以比大小的所有数据类型(有比较运算符)”这一概念记为Comparable 将“具有公有的复制构造函数并可以用‘=’赋值的数据类型”这一概念记为Assignable 将“可以比大小.具有公有的复制构造函数并可以用‘=’赋值的所有数据类型”这个概念记作Sortable 对于两个不同的概念A和B,如果…
目录 适配器之队列 一丶队列简介 二丶队列(queue)代码操作 1.常用方法 适配器之队列 一丶队列简介 队列是先进先出的数据结构. 在STL中使用 queue表示. 底层使用的是序列容器deque,或者list 不能使用vector因为vector可以说底层是数组结构进行维护的.第一点就是没有提供头部操作函数. 最终要的一点就是.因为队列是操作头部.如果使用数组来操作.效率大大降低.这也是为什么vector容器并不提供头部操作函数原理. 二丶队列(queue)代码操作 1.常用方法 push…
目录 适配器之优先级队列 一丶优先级队列简介(priority_queue) 二丶优先级队列代码演示 1.优先级队列代码以及使用简介 适配器之优先级队列 一丶优先级队列简介(priority_queue) 优先级队列.不采用严格的先进先出的顺序.而是按照优先级. 给定某一时刻位于队列头的元素. 如果两个元素有相同的优先级.他们他们在队列中的顺序就是先进先出.底层是vector容器支持.可以使用deque,不能使用list.因为优先级队列要支持对元素的随机访问.便于排序. 二丶优先级队列代码演示…
目录 适配器 一丶适配器简介 二丶栈(stack)用法 1.栈的常用方法 适配器 一丶适配器简介 Stl中的适配器,有栈 (stack) 队列 queue 根priority_queue 适配器都是包装了 vector list deque等顺序容器. 也可以看做是由这些容器实现的一个新的容器. 适配器没有提供迭代器.也不能同事插入或者删除多个元素. 二丶栈(stack)用法 1.栈的常用方法 push(x) 将元素入栈 pop() 弹出栈顶元素.只是弹出.没有返回值 top() 获取栈顶元素(…
一,deque的基础知识 1.deque的基础 deque是“double-ended-queue”的缩写,意思是双端队列,其和vector的区别在于vector是单端的. deque在头部和尾部插入和删除元素非常快,但是在中部插入和删除元素比较耗时. deque支持随机存取元素(即通过数组下标可以直接访问和修改元素),其底层数据结构是数组. deque的操作和vector很相似,在许多操作上可以直接替换. 在使用deque之前需要导入头文件# include<deque> 二,deque的构…