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

用织梦做的学校网站网站建设都有什么工作要做

用织梦做的学校网站,网站建设都有什么工作要做,安卓市场下载手机版,如何做动漫网站面试浅谈之 C STL 篇 一 🏠 概述 HELLO,各位博友好,我是阿呆 🙈🙈🙈 这里是面试浅谈系列,收录在专栏面试中 😜😜😜 本系列将记录一些阿呆个人整理的面试题…

面试浅谈之 C++ STL 篇

一 🏠 概述

HELLO,各位博友好,我是阿呆 🙈🙈🙈

这里是面试浅谈系列,收录在专栏面试中 😜😜😜

本系列将记录一些阿呆个人整理的面试题 🏃🏃🏃

OK,兄弟们,废话不多直接开冲 🌞🌞🌞


二 🏠 核心

1、什么是 STL ?

STL (Standard Template Library) 是 C++ 的标准模板库,主要由container(容器)、algorithm(算法)和iterator(迭代器)三大部分构成:

1、容器 :存放数据对象(就是一种数据结构,例链表、栈、队列等等)

2、算法 :操作容器中的数据对象(操作容器数据的模板函数,sort、find、copy、for_each)

3、迭代器 :访问容器中的数据对象(正向,反向,可读)

剩余三大组件是 :仿函数、适配器、空间配置器


2、HashMap 和 Map 适用场景

HashMap 底层实现链式哈希表(无序),查找速度快(常量级)

Map 底层实现是红黑树(有序),查找速度相对慢( log(n) )

在数据量级高且追求查询性能时,使用 HashMap

在数据量级低且要求内存低消耗时,使用 Map


3、STL HashTable 底层实现

开链法 解决 hash 冲突

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zDKNS9gR-1676880997984)(E:\2022年MD文档\2023 年 MD文档\一月\面试浅谈之 C++ STL 篇.assets\1676806462680.png)]


4、Vector 底层原理及相关问题

① vector 底层原理

动态数组,包含三个迭代器,start 和 finish 之间是已被使用的空间范围 ,end_of_storage 是整块连续空间包括备用空间尾部

当空间不够装下数据时,会自动申请更大空间,把原来数据拷贝到新内存空间,释放原空间【扩容】

当释放或者删除数据时,内存空间不释放,仅清空数据

任何 Vector 空间重新配置的操作,指向原 Vector 迭代器会失效


② vector reserve 和 resize 区别

reserve 保证空间大小达到参数指定大小,扩充内存空间,解决多次开辟、释放空间问题

resize 涉及成员对象默认初始化,也会改变内存空间大小


③ vector size 和 capacity 区别

size 表示有多少元素(finish - start)

capacity 表示内存空间可容纳多少元素(end_of_storage - start)


④ vector 元素类型可以是引用吗?

vector 元素类型是对象,引用不是对象,没有实际地址


⑤ vector 迭代器失效情况

① 当插入一个元素后,end 返回迭代器失效

② 当插入一个元素后,造成动态扩容,first 和 end 返回迭代器失效

③ 删除操作 (erase,pop_back) ,指向删除点和后面元素的迭代器失效


⑥ 正确释放 vector 内存

vec.clear() :清空内容,但不释放内存

vector().swap(vec) :清空内容,且释放内存,得到⼀个空 vector

vec.shrink_to_fit() :请求容器降低其 capacity 和 size 匹配

vec.clear(),vec.shrink_to_fit() :清空内容,且释放内存


⑦ vector 扩容为什么 1.5 倍或 2 倍

可能产生堆空间浪费,成倍增长倍数不能太大


⑧ vector 常用函数

vector<int> vec(10,100); //创建10个元素,每个元素值为100
vec.resize(r,vector<int>(c,0)); //⼆维数组初始化
reverse(vec.begin(),vec.end()) //将元素翻转
vec.push_back(val); //尾部插⼊数字
vec.size(); //向量⼤⼩
iterator = vec.erase(iterator) //删除元素find(vec.begin(),vec.end(),1); //查找元素
sort(vec.begin(),vec.end()); //排序,默认升序排列

5、map [ ] 与 find 区别

[] 作用 :将关键码作为下标执行查找;如果不存在关键码,将⼀个具有该关键码和值类型默认值插入

find 函数:关键码执行查找,找到返回该位置迭代器;不存在这个关键码,返回尾迭代器


6、其它 STL 容器底层实现

参考 C++ 语言专栏中 C++ 浅谈 STL 系列


三 🏠 结语

身处于这个浮躁的社会,却有耐心看到这里,你一定是个很厉害的人吧 👍👍👍

各位博友觉得文章有帮助的话,别忘了点赞 + 关注哦,你们的鼓励就是我最大的动力

博主还会不断更新更优质的内容,加油吧!技术人! 💪💪💪

http://www.yayakq.cn/news/231445/

相关文章:

  • 旅游电子商务网站的建设包括哪些步骤?网站建设中有哪些常用技术?腾和企业网站管理系统
  • 腾讯网站开发语言星大建设集团招聘网站
  • 造价员证在哪个网站上查询织梦网站图片设置多大
  • 网站建设 该如何选好域名地图上如何添加自己公司的地址
  • 网站备案现状软文平台
  • 电子商务网站建设与推广实务网站建设优化过程中的优化策略
  • 多种手机网站建设网站开发流程asp
  • 微信端网站开发流程网站开发数据
  • 网站兼容性怎么解决哪里有做ppt的网站
  • 网站开发打赏功能深圳住房和建设局新网站
  • 物流建设网站总结企业所得税免税收入有哪些
  • 自适应网站会影响推广山东网站建设设计
  • 外贸建站服务器怎么选网站后台系统功能
  • 菠菜网站建设条件网站建设与管理职责
  • 网站建设补充合同范本中国建设工程
  • 盐城做网站多少钱请简要描述如何进行网站设计规划
  • 网站建设的发展历程wordpress漫画
  • 前端网站效果有哪些苏州旅游网站设计
  • seo建站教学网站建设服务协议书
  • 网站建设与制作实训报告免费空间小说
  • 支付网站建设费怎么做账竞价推广课程
  • 自己做的网站加载慢网络服务提供商是指什么
  • 好看的网站页面wordpress 移动 主题
  • 网站的优化怎么做中国网站排名 优帮云
  • 网页搜索一个网站全包中国设计联盟官网
  • 双语网站系统网站的文件结构
  • 牵牛建站wordpress中下载按钮
  • 艺术学院网站建设管理办法如何有效推广
  • 省建设执业资格注册中心网站google关键词查询工具
  • 做矿业的郑州公司网站网站建设工作室制作平台