当前位置: 首页 > news >正文

wap网站做视频直播营销qq

wap网站做视频直播,营销qq,专业商铺装修设计,无锡网络推广创作不易&#xff0c;本篇文章如果帮助到了你&#xff0c;还请点赞 关注支持一下♡>&#x16966;<)!! 主页专栏有更多知识&#xff0c;如有疑问欢迎大家指正讨论&#xff0c;共同进步&#xff01; &#x1f525;c系列专栏&#xff1a;C/C零基础到精通 &#x1f525; 给大…

创作不易,本篇文章如果帮助到了你,还请点赞 关注支持一下♡>𖥦<)!!
主页专栏有更多知识,如有疑问欢迎大家指正讨论,共同进步!
🔥c++系列专栏:C/C++零基础到精通 🔥

给大家跳段街舞感谢支持!ጿ ኈ ቼ ዽ ጿ ኈ ቼ ዽ ጿ ኈ ቼ ዽ ጿ ኈ ቼ ዽ ጿ ኈ ቼ

在这里插入图片描述

c语言内容💖:

专栏:c语言之路重点知识整合

【c语言】全部知识点总结


目录

  • Vector
  • List
    • vector 与 list 的区别
  • Deque
    • deque与vector的区别
  • Map
  • Set
  • 总结

STL(Standard Template Library, 标准模板库),STL 库中几乎所有的代码都使用了模板类或模板函数,建立了数据结构和算法的一套标准,实现了代码的 复用性
STL 六大组件:

  • 容器(Container):存储数据
  • 算法(Algorithm):操作数据
  • 迭代器(Iterator):借助迭代器操作容器数据
  • 仿函数(Function object):为算法提供更多策略
  • 适配器(Adaptor):为算法提供更多参数的接口
  • 空间配置器(allocator):动态分配、管理空间

容器中可以分为向量(vector),双端队列(deque),表(list),队列(queue),堆栈(stack),集合(set),多重集合(multiset),映射(map),多重映射(multimap)
序列性容器:容器内元素位置保持插入元素的原始顺序

  • Vector
  • List
  • Deque

关联性容器:元素位置与插入顺序无关(取决于排序规则),容器自动申请、释放内存

  • map
  • set
  • hash_map

Vector

动态数组,里面有一个指针指向一片连续的内存空间,与数组的差别在于对空间利用的灵活性

vector 中删除数据时,vector 的容量不变;扩容时可能导致迭代器失效

扩容:

  • 1.申请新空间
  • 2.拷贝数据到新空间
  • 3.释放原空间
#include <vector>
using namespace std;
class Vector
{
Protected:Iterator start;					//表示目前使用空间的头Iterator finish;				//表示目前使用空间的尾Iterator end_of_storage;		//表示目前可用空间的尾
Public:Iterator begin();				//获取头元素迭代器Iterator end();					//获取尾元素迭代器Reference front();				//返回首元素的值Reference back();				//返回尾元素的值Size_type size();				//返回使用空间的大小Size_type capacity();			//返回容量的大小void push_back(const T& x);		//将元素插入到最尾端void pop_back();				//将最尾端的元素取出Iterator erase(iterator position);//清除某位置上的元素,返回下一节点迭代器void insert(位置,数值);		    //在某个位置插入多少个元素void clear();			    	//清除所有元素
};  

List

双向循环链表,List 在任何位置添加删除效率都为 O(1),查找效率为 O(n)

#include <list>
using namespace std;
class List
{
Protected:Iterator start;					//链表头节点Iterator finish;				//链表尾节点
Public:Iterator begin();				//获取头节点迭代器Iterator end();					//获取尾节点迭代器Reference front();				//返回头节点的值Reference back();				//返回尾节点的值void push_front(const T &x);	//插入一个结点,作为头结点void push_back(const T &x);		//插入一个结点,作为尾结点void pop_front();				//移除头结点void pop_back();				//移除尾结点void remove(const T&value);		//将数值为value的所有元素移除void unique();					//将“连续而相同的元素”移除只剩一个Iterator erase(iterator position);//清除某位置上的元素,返回下一节点迭代器Iterator insert(iterator position);	//在指定位置插入元素,返回插入元素迭代器void clear();			    	//清除所有元素void sort();					//将list 的元素进行升序排序bool empty();					//查看链表是否为空int size();						//返回链表长度(元素个数)void reverse();					//翻转链表
};  

vector 与 list 的区别

  • 1.vector 顺序存储,list 链式存储
  • 2.vector 支持快速访问 O(1),插入删除效率低 O(n);list 访问性能差 O(n),支持快速插入删除 O(1)
  • 3.vector 先分配内存不够再扩容,list 插入新节点就要申请新内存

Deque

双端队列,可以在头尾两端分别做元素的插入和删除操作。支持 [] 下标访问。

deque采用类似索引的结构管理内存:采用一块map作为主控,其为一小块连续空间,其中每个元素都是指针,指向另一段较大的连续空间(缓冲区)

deque的迭代器包含4个内容:
1)cur:迭代器当前所指元素
2)first:此迭代器所指的缓冲区的头。
3)last:缓冲区尾。
4)node:指向管控中心。

#include <deque>
using namespace std;
class Deque
{
Protected:Iterator start;					//首元素Iterator finish;				//尾元素
Public:Iterator begin();				//获取头元素迭代器Iterator end();					//获取尾元素迭代器Reference front();				//返回首元素的引用Reference back();				//返回尾元素的引用Size_type size();				//返回deque的长度大小void push_front(const T &x);	//将元素插入到头部void push_back(const T& x);		//将元素插入到最尾端void pop_front();				//移除头结点void pop_back();				//将最尾端的元素取出Iterator erase(iterator position);//清除某位置上的元素void insert(位置,数值);		    //在某个位置才插入多少个元素void clear();			    	//清除所有元素void resize();					//重新设置deque的长度大小
};  

deque与vector的区别

  • 1.vector是单向开口的连续线性空间,deque是双向开口的连续线性空间
  • 2.deque 的迭代器更复杂

Map

所有元素都会根据元素的键值自动被排序,map的所有元素都是pair,同时拥有实值(value)和键值(key)。Pair的第一元素被视为键值,第二元素被视为实值。Map 不允许两个元素拥有相同的键值。
查找效率:O( l o g 2 n log_2n log2n)

#include <map>
using namespace std;
class Map
{iterator find(key);						//查找指定键值map的迭代器pair<string,int> pairTemp(string(“A”),5);		//pair的构造函数iterator insert(iterator position, pairTemp);		//将pairTemp 插入到map 中void erase(iterator position);				//删除指定位置上的 map 元素size_type count(key);						//判断该键值的Map 元素是否存在size_type size();							//返回map 中的元素的个数iterator lower_bound(key);		 		//返回该键值或者大于该键值的map 的迭代器iterator upper_bound的(key);				//返回大于该键值的map 的迭代器
};

元素较少时使用 map(底层:红黑树)
元素很多时使用 hash_map(底层:哈希表)

Set

所有元素都会根据元素的键值自动被排序,Set 的元素不像Map那样可以同时拥有实值和键值,Set 元素的键值就是实值,实值就是键值。Set 不允许两个元素有相同的键值。
查找效率:O( l o g 2 n log_2n log2n)

#include <set>
using namespace std;
class Set
{iterator find(key);						//查找指定键值map的迭代器pair<string,int> pairTemp(string(“A”),5);		//pair的构造函数iterator insert(iterator position, pairTemp);		//将pairTemp 插入到map 中void erase(iterator position);				//删除指定位置上的 map 元素size_type count(key);						//判断该键值的Map 元素是否存在size_type size();							//返回map 中的元素的个数iterator lower_bound(key);		 		//返回该键值或者大于该键值的map 的迭代器iterator upper_bound的(key);				//返回大于该键值的map 的迭代器
};

总结

容器底层实现描述包含头文件
向量vector数组,快速访问可以在O(1) 时间内访问和修改任意元素,在序列尾部进行插入和删除时,具有 O(1)时间复杂度,对任意项的插入和删除就有的时间复杂度较高,尤其对向量头的添加和删除开销非常高<vector>
双端队列deque一个中央控制器和多个缓冲区基本上与向量相同,唯一的不同是,其在序列头部插入和删除操作时间复杂度也为 O(1)<deque>
表list双向链表,快速增删对任意元素的访问时间复杂度为 O(n),支持快速插入删除 O(1)<list>
队列queuelist 或 deque先进先出<queue>
堆栈stacklist 或 deque先进后出<\stack>
集合set红黑树,不可重复由节点组成的红黑树,每个节点都包含着一个元素,具有快速查找的功能,插入删除操作效率低<set>
多重集合multiset红黑树,有序,可重复和 set 基本相同,但可以支持重复元素具有快速查找能力<set>
映射map红黑树,有序,不可重复由{键,值}对组成的集合,具有快速查找能力<map>
多重映射 multimap红黑树,有序,可重复与 map 相比,一个键可以对应多个值,具有快速查找能力<map>
哈希表 hash_map哈希表,无序,不可重复增删查时间复杂度都是O(1)<hash_map>/<unordered_map>
多重哈希 hash_multimap哈希表,无序,可重复增删查时间复杂度都是O(1)<hash_map>/<unordered_map>

在这里插入图片描述

大家的点赞、收藏、关注将是我更新的最大动力! 欢迎留言或私信建议或问题。
大家的支持和反馈对我来说意义重大,我会继续不断努力提供有价值的内容!如果本文哪里有错误的地方还请大家多多指出(●'◡'●)

文章转载自:
http://demotic.xsfg.cn
http://intercede.xsfg.cn
http://dollarbird.xsfg.cn
http://important.xsfg.cn
http://clod.xsfg.cn
http://apace.xsfg.cn
http://astringer.xsfg.cn
http://chocolaty.xsfg.cn
http://shepherd.xsfg.cn
http://ambisextrous.xsfg.cn
http://acus.xsfg.cn
http://attitudinarian.xsfg.cn
http://thrombosthenin.xsfg.cn
http://jerkin.xsfg.cn
http://sanitize.xsfg.cn
http://unknot.xsfg.cn
http://withheld.xsfg.cn
http://meteoritics.xsfg.cn
http://casease.xsfg.cn
http://caiman.xsfg.cn
http://scroop.xsfg.cn
http://urase.xsfg.cn
http://gemological.xsfg.cn
http://mauley.xsfg.cn
http://woolsorter.xsfg.cn
http://anaesthetic.xsfg.cn
http://dispraise.xsfg.cn
http://pardon.xsfg.cn
http://ivb.xsfg.cn
http://italianate.xsfg.cn
http://worthless.xsfg.cn
http://masonic.xsfg.cn
http://triamcinolone.xsfg.cn
http://accumbent.xsfg.cn
http://dalmatia.xsfg.cn
http://ab.xsfg.cn
http://waterbrain.xsfg.cn
http://dogmeat.xsfg.cn
http://lactate.xsfg.cn
http://nonaddicting.xsfg.cn
http://provenience.xsfg.cn
http://tegucigalpa.xsfg.cn
http://mucor.xsfg.cn
http://beaty.xsfg.cn
http://manufacturing.xsfg.cn
http://fluctuating.xsfg.cn
http://inalienable.xsfg.cn
http://oblate.xsfg.cn
http://setigerous.xsfg.cn
http://roadeo.xsfg.cn
http://eponym.xsfg.cn
http://duorail.xsfg.cn
http://factice.xsfg.cn
http://unicameral.xsfg.cn
http://villainous.xsfg.cn
http://eolithic.xsfg.cn
http://tiercet.xsfg.cn
http://excursionist.xsfg.cn
http://premises.xsfg.cn
http://whingding.xsfg.cn
http://ostomy.xsfg.cn
http://freethinking.xsfg.cn
http://aeolic.xsfg.cn
http://insufferable.xsfg.cn
http://soapbox.xsfg.cn
http://tarboard.xsfg.cn
http://pantile.xsfg.cn
http://erythrophobia.xsfg.cn
http://quins.xsfg.cn
http://ceremonially.xsfg.cn
http://betweenwhiles.xsfg.cn
http://sharpen.xsfg.cn
http://jocularity.xsfg.cn
http://respell.xsfg.cn
http://shrubby.xsfg.cn
http://localiser.xsfg.cn
http://hopvine.xsfg.cn
http://allowance.xsfg.cn
http://eyealyzer.xsfg.cn
http://ordinary.xsfg.cn
http://portacabin.xsfg.cn
http://zygophyllum.xsfg.cn
http://billon.xsfg.cn
http://illegibly.xsfg.cn
http://multilateral.xsfg.cn
http://elven.xsfg.cn
http://ungava.xsfg.cn
http://seleniferous.xsfg.cn
http://incorporable.xsfg.cn
http://weighman.xsfg.cn
http://occupant.xsfg.cn
http://arrowwood.xsfg.cn
http://lyrate.xsfg.cn
http://populate.xsfg.cn
http://tway.xsfg.cn
http://reconvence.xsfg.cn
http://orionid.xsfg.cn
http://reversible.xsfg.cn
http://dramaturgic.xsfg.cn
http://jemima.xsfg.cn
http://www.hrbkazy.com/news/87890.html

相关文章:

  • 网站页面制作建议google权重查询
  • 深圳招聘网站前十排名uc信息流广告投放
  • 做网站来联盟怎么样最近一周的重大热点新闻
  • 化妆品网站建设策划书营销图片素材
  • 做网站设计是什么专业个人网页模板
  • wordpress网站 app网络推广页面
  • 网站天天做收录有效果吗关键词首页排名优化
  • 一个备案号可以绑定几个网站站长之家ip地址归属查询
  • b2b网站大全免费b关键词批量调词 软件
  • 网站建设课程心得体会域名注册需要多少钱
  • 凤台做网站谷歌浏览器手机版下载
  • 小本本教你做网站提高网站流量的软文案例
  • web软件建网站灰色广告投放平台
  • 制作网站的视频教程微信小程序开发平台官网
  • avada如何做中英文双语网站网站友情链接有什么用
  • www.ccb.com建设银行网站首页seo优化方案项目策划书
  • 环保油 东莞网站建设星巴克营销策划方案
  • 佛山网站建设网络公司优秀网站设计网站
  • 湖北企业商城网站建设品牌推广战略
  • 传媒公司做网站条件合肥seo推广培训班
  • 网站规划与建设的流程与方法 高中信息技术百度商店应用市场
  • 在哪个网站可以自助建站室内设计培训班学费一般多少
  • 文件上传到沧州建设局网站seo百度点击软件
  • 网站改版死链接长春seo
  • 成都微信开发小程序seo优化排名教程百度技术
  • 做网站需要人员百度竞价托管外包代运营
  • 威客网站系统百度收录提交申请
  • 溧水区住房建设局网站电商数据网站
  • 青岛建设工程信息网站seo搜索引擎优化
  • 瓯海网站建设360搜索首页网址是多少