![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++
文章平均质量分 94
牵着我的猪去看海
热爱生活比什么都重要
展开
-
常见的七大排序
七大排序插入排序选择排序未优化前版本优化版本插入排序什么是插入排序?指的是当插入第n个元素时,之前的n-1个元素已经有序了,将第n个元素和前面的n-1个元素比较,找到适合插入的位置,插入点后面的元素都向后挪动一个位置,空出来的位置直接插入即可。时间复杂度:最坏的情况下,每次插入一个元素,都需要挪动全部元素,故有1+2+3+…+n=n*(n+1)/2。即为O(n^2)空间复杂度:在原有的数组挪动即可,不需要额外的空间。O(1)例子:待插入元素:5 2 3 6 1 4 8第一次插入:5第原创 2022-05-01 22:24:11 · 360 阅读 · 0 评论 -
STL源码原理分析
STL详解STL介绍空间配置器一级空间配置器二级空间配置器序列式容器vectorlistdeque适配器stackqueueheappriority_queue关联式容器setmultisetmapmultimap非标准容器hash_set(unordered_set)hash_multiset(unordered_multiset)hash_map (unordered_map)hash_multimap(unordered_multimap)常见的面试问答1、说说 vector 和 list 的区别2、原创 2022-04-04 16:23:51 · 3240 阅读 · 0 评论 -
现代C++特性
一、内存区域模型1、代码区:存放函数体的二进制代码,由操作系统进行管理,特点是共享和只读。2、全局区:存放全局变量、static修饰的静态变量、const修饰的常量。3、栈区:存放局部变量和函数传递的参数,由编译器自动进行分配和释放。4、堆区:存放动态分配的变量,需要程序员使用new,malloc分配和使用delete,free释放,若不释放一般情况下程序运行完由操作系统回收内存不同区域的意义赋予了变量的不同生命周期,提供给程序员灵活地编程。二、引用2.1、意义给变量起别名用法数据类型原创 2022-03-21 17:36:17 · 1327 阅读 · 3 评论