上一页 1 ··· 21 22 23 24 25 26 27 28 29 ··· 40 下一页

2021年7月28日

摘要: 相比于vector的连续线型空间,list显得复杂许多,但是它的好处在于插入或删除都只作用于一个元素空 间,因此list对空间的运用是十分精准的,对任何位置元素的插入和删除都是常数时间。list不能保证节 点在存储空间中连续存储,也拥有迭代器,迭代器的“++”、“--”操作对于的是指针的操作,lis 阅读全文
posted @ 2021-07-28 16:27 超人不会灰啊 阅读(60) 评论(0) 推荐(0) 编辑
 
摘要: list是双向链表,而slist(single linked list)是单向链表,它们的主要区别在于:前者的迭代器是双向的 Bidirectional iterator,后者的迭代器属于单向的Forward iterator。虽然slist的很多功能不如list灵活,但是 其所耗用的空间更小,操作 阅读全文
posted @ 2021-07-28 16:09 超人不会灰啊 阅读(85) 评论(0) 推荐(0) 编辑
 
摘要: vector是一种序列式容器,其数据安排以及操作方式与array非常类似,两者的唯一差别就是对于空间运 用的灵活性,众所周知,array占用的是静态空间,一旦配置了就不可以改变大小,如果遇到空间不足的 情况还要自行创建更大的空间,并手动将数据拷贝到新的空间中,再把原来的空间释放。vector则使用 阅读全文
posted @ 2021-07-28 16:06 超人不会灰啊 阅读(66) 评论(0) 推荐(0) 编辑
 
摘要: 以vector为例: 插入元素: 1、尾后插入:size < capacity时,首迭代器不失效尾迭代失效(未重新分配空间),size == capacity时, 所有迭代器均失效(需要重新分配空间)。 2、中间插入:中间插入:size < capacity时,首迭代器不失效但插入元素之后所有迭代器 阅读全文
posted @ 2021-07-28 16:05 超人不会灰啊 阅读(204) 评论(0) 推荐(0) 编辑
 
摘要: 1) 新增元素:vector通过一个连续的数组存放元素,如果集合已满,在新增数据的时候,就要分配一块 更大的内存,将原来的数据复制过来,释放之前的内存,在插入新增的元素; 2) 对vector的任何操作,一旦引起空间重新配置,指向原vector的所有迭代器就都失效了 ; 3) 初始时刻vector的 阅读全文
posted @ 2021-07-28 15:55 超人不会灰啊 阅读(201) 评论(0) 推荐(0) 编辑
 
摘要: 1) hash table表格内的元素称为桶(bucket),而由桶所链接的元素称为节点(node),其中存入桶元素的容 器为stl本身很重要的一种序列式容器——vector容器。之所以选择vector为存放桶元素的基础容器,主要 是因为vector容器本身具有动态扩容能力,无需人工干预。 2) 向 阅读全文
posted @ 2021-07-28 15:47 超人不会灰啊 阅读(337) 评论(0) 推荐(0) 编辑
 
摘要: 1) 第一级配置器直接使用malloc()、free()和relloc(),第二级配置器视情况采用不同的策略:当配置区块 超过128bytes时,视之为足够大,便调用第一级配置器;当配置器区块小于128bytes时,为了降低额外负 担,使用复杂的内存池整理方式,而不再用一级配置器; 2) 第二级配置 阅读全文
posted @ 2021-07-28 15:43 超人不会灰啊 阅读(134) 评论(0) 推荐(0) 编辑
 
摘要: 1) list不再能够像vector一样以普通指针作为迭代器,因为其节点不保证在存储空间中连续存在; 2) list插入操作和结合才做都不会造成原有的list迭代器失效; 3) list不仅是一个双向链表,而且还是一个环状双向链表,所以它只需要一个指针; 4) list不像vector那样有可能在空 阅读全文
posted @ 2021-07-28 15:40 超人不会灰啊 阅读(703) 评论(0) 推荐(0) 编辑
 
摘要: 1) map的下标运算符[]的作用是:将关键码作为下标去执行查找,并返回对应的值;如果不存在这个关 键码,就将一个具有该关键码和值类型的默认值的项插入这个map。 2) map的find函数:用关键码执行查找,找到了返回该位置的迭代器;如果不存在这个关键码,就返回 尾迭代器。 阅读全文
posted @ 2021-07-28 15:26 超人不会灰啊 阅读(249) 评论(0) 推荐(0) 编辑
 
摘要: 1) 通过下标访问vector中的元素时会做边界检查,确保访问不会出现错误。 2) map的下标运算符[]的作用是:将key作为下标去执行查找,并返回相应的值;如果不存在这个key, 就将一个具有该key和value的某人值插入这个map。 3) erase()函数,只能删除内容,不能改变容量大小; 阅读全文
posted @ 2021-07-28 15:22 超人不会灰啊 阅读(391) 评论(0) 推荐(0) 编辑
上一页 1 ··· 21 22 23 24 25 26 27 28 29 ··· 40 下一页