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

文山网站建设交互界面设计

文山网站建设,交互界面设计,小程序游戏制作,正规的建网站公司C 浅谈之 STL Deque HELLO#xff0c;各位博友好#xff0c;我是阿呆 #x1f648;#x1f648;#x1f648; 这里是 C 浅谈系列#xff0c;收录在专栏 C 语言中 #x1f61c;#x1f61c;#x1f61c; 本系列阿呆将记录一些 C 语言重要的语法特性 #x1f3c3; 浅谈之 STL Deque HELLO各位博友好我是阿呆 这里是 C 浅谈系列收录在专栏 C 语言中 本系列阿呆将记录一些 C 语言重要的语法特性 OK兄弟们废话不多直接开冲 一 概述 简单介绍 Deque 双端队列在头尾对元素进行删除和插入快中间插入或删除效率低支持元素随机访问。它是动态分段连续空间组合而成无 capacity 概念可即时增加新空间不会像 vector 因旧空间不足而重新申请 和 Vector 维护连续线性空间不同Deque 维护多段连续空间各段间不一定连续Deque 用数组名为 map存储着各连续空间首地址 迭代器 分段存储提高了两端添加删除的效率也使容器迭代器实现更复杂有如下 2 个问题 ① 迭代器遍历时须确认各连续空间在 map 数组中的位置 ‍‍‍ ② 迭代器在某个连续空间时须知道是否处于空间边缘一旦前进需要跳到下一个连续空间 //迭代器内部实现如上包含 4 个指针 templateclass T,... struct __deque_iterator{...T* cur; //指向当前正在遍历的元素T* first; //指向当前连续空间的首地址T* last; //指向当前连续空间的末尾地址map_pointer node; //T** 二级指针, 指向 map 数组中存储的指向当前连续空间的指针 }借助这四个指针和运算符重载使迭代器可以在分段连续空间遍历 //当迭代器处于当前连续空间边缘的位置时如果继续遍历就需要跳跃到其它的连续空间中该函数可用来实现此功能 void set_node(map_pointer new_node){node new_node;//记录新的连续空间在 map 数组中的位置first *new_node; //更新 first 指针//更新 last 指针difference_type(buffer_size())表示每段连续空间的长度last first difference_type(buffer_size()); }//重载 * 运算符 reference operator*() const{return *cur;} pointer operator-() const{return (operator *());}//重载前置 运算符 self operator(){cur;//处理 cur 处于连续空间边缘的特殊情况if(cur last){//调用该函数将迭代器跳跃到下一个连续空间中set_node(node1);//对 cur 重新赋值cur first;}return *this; }//重置前置 -- 运算符 self operator--(){//如果 cur 位于连续空间边缘则先将迭代器跳跃到前一个连续空间中if(cur first){set_node(node-1);cur last;}--cur;return *this; }二 核心 底层实现 STL Deque 有如下的定义代码 //_Alloc为内存分配器 templateclass _Ty,class _Alloc allocator_Ty class deque{... protected:iterator start; // map 数组中首个连续空间的信息iterator finish; //map 数组中最后一个连续空间的信息map_pointer map; ... }内部空间布局如下图所示 三 结语 身处于这个浮躁的社会却有耐心看到这里你一定是个很厉害的人吧 各位博友觉得文章有帮助的话别忘了点赞 关注哦你们的鼓励就是我最大的动力 博主还会不断更新更优质的内容加油吧技术人
http://www.hkea.cn/news/14492459/

相关文章:

  • 为什么网站收录下降网站建设 软件有哪些
  • 昆明网站建设方案报价网站开发技术考题
  • 做网站编辑需要看什么书手机网站建设公司
  • frontpage怎么做网站有没有便宜的注册代理
  • 畔游网站建设seo搜索优化公司
  • 四站合一网站建设价格给网站做图
  • 成都网站建设 小兵网页版梦幻西游水晶宫攻略
  • 免费注册个人网站官网wordpress恢复设置
  • 揭阳网站制作方案定制做菠菜网站判多久
  • 最专业网站建设开发山东济南seo优化
  • 给公司做一个网站吗做情趣网站需要什么资质
  • 网站建设对于企业发展的优势网站推广在哪好
  • 郑州网站建设公司e00遵义网红
  • 北苑网站建设公司上海工商网上企业查名
  • 网站后台源代码更改上海网站建设-新闻动态
  • 代理公司注册需要多少钱跨境电商seo是什么意思
  • 硅胶鞋垫移动网站建设工业设计就业方向及就业前景
  • 富阳住房和城乡建设部网站住房和城乡建设部网站 上海
  • 加强残联网站建设wordpress分类导航主题
  • 网贷网站建设龙岩网上办事大厅官网
  • 有哪些做买家秀的网站电商网站免费设计
  • 网上花店网站建设九游手游平台app
  • 帮熟人做网站如何收费wordpress修改个人头像
  • 小型网站建设源码网站织梦模板
  • 专门做毕设的网站全国免费发布信息平台
  • 兴平市住房和城乡建设局门户网站专业的网站设计网络
  • 自己开发一个网站应该怎么做怎么用dw做静态网站
  • 伍佰亿网站怎样兰州商城网站建设
  • 做宣传图片的网站怎么在网站上做游戏代练
  • 邢台做网站推广的地方网站建设开源程序