关于vector的扩容机制 C/C++

关于vector的扩容机制

往vector中添加元素时,如果空间不够将会导致扩容。vector有两个属性:size和capacity。size表示已经使用的数据容量,capacity表示数组的实际容量,包含已使用的和未使用的。 ...
阅读全文
STL中的迭代器失效 C/C++

STL中的迭代器失效

一、迭代器失效 向容器添加或者删除元素可能会导致指向容器的指针、引用或者迭代器失效。使用已经失效的指针、引用或者迭代器将会导致程序出现异常,编码过程中一定要时刻注意迭代器失效的场景。 例如,以vect...
阅读全文
磁盘的基本知识:磁道、柱面和扇区 程序员

磁盘的基本知识:磁道、柱面和扇区

一、磁盘的基本元素 磁盘由多个盘片组成,每个盘片的基本结构为: 各标识含义: A是磁道,多个磁盘的同一个磁道重叠起来叫做柱面,它包含了很多个扇区。 B是几何上的扇区,只做标示,此处无特殊含义。 C是扇...
阅读全文
数据结构之B树 数据结构和算法

数据结构之B树

一、B树的基本概念 B树是一种多叉树,被广泛应用于数据库索引中。它也是一种特殊的搜索树,和搜索树最大的不同在于它的每个节点都包含了n个关键字和n+1个指向子节点的指针。它的表现形式为: B树的特点: ...
阅读全文
Golang中glog库的使用方法 Golang

Golang中glog库的使用方法

一、关于glog库 golang中的glog库是google著名开源C++日志库glog的golang版本,在golang默认日志库的基础上做了更进一层的封装使得该库能更贴近日常使用。项目首页为gol...
阅读全文
实现函数strcpy/memcpy/memmove 编程语言

实现函数strcpy/memcpy/memmove

一、strcpy strcpy是字符串拷贝函数,将一个字符串拷贝到另一个字符串。 代码: 实现该函数的注意点: 传入参数src使用const修饰,避免函数内部修改数据。 使用p备份dst指针,在拷贝完...
阅读全文
234-回文链表 数据结构和算法

234-回文链表

来源:力扣(LeetCode) 链接:234. 回文链表 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。 一、题目描述 请判断一个链表是否为回文链表。 示例 1: 输入:1-&g...
阅读全文
排序算法三:堆排序 数据结构和算法

排序算法三:堆排序

一、堆排序原理 通过最大堆的性质可以知道:一个堆中最大的元素总是在堆顶的,即数组下标0的位置。基于这一点,我们可以每次都把堆中的最大值提取出来,放到当前数组的后面。然后重新构建最大堆,重复这个过程,以...
阅读全文