![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
c++总结
文章平均质量分 89
_yannnnn
你可以再努力一点...
展开
-
STL容器总结
目录目录容器分类迭代器各个容器的使用vector矢量list列表queue队列priority_queue优先队列stack栈set集合map字典容器类自动申请和释放内存,因此无需new和delete操作。容器分类序列式容器:元素可以是有序的,也可以是无序的。区别在于访问元素的方式,以及添加或删除元素相关操作的运行代价。vecto...原创 2018-03-06 21:18:55 · 173 阅读 · 0 评论 -
《STL源码剖析》读书笔记(四)
空间配置器 allocator空间配置器 allocator概览精细分工双层级配置器相关问题在STL中,所有的元素都是存放在容器中,容器需要配置空间来储存这些数值,因此需要用到空间配置器。概览SGI的空间配置器 SGI标准的空间配置器是allocator, 只是对基层内存配置/释放行为(对运算符new/delete)进行了一层薄薄的封装,没有考虑到效率上...原创 2018-07-25 16:23:02 · 344 阅读 · 0 评论 -
《STL源码剖析》读书笔记(二)
这部分内容主要是针对序列式容器来记录的,了解各种序列式容器的底层实现以及对源码、实现逻辑进行分析。分类序列式容器(缩进表示基层与衍生层的关系,衍生是内含关系,例如priority_queue内含一个heap 其中的元素是可序(ordered),但未必有序(sorted)) array(c++内建),vector, heap(以算法形式呈现), priority_queueli...原创 2018-07-13 15:55:29 · 274 阅读 · 0 评论 -
红黑树
定义相关操作插入节点删除节点结构应用对比红黑树很复杂,今天就要整理学习这部分内容。定义红黑树是一种平衡二叉搜索树,而且满足以下规则: 1. 每个节点不是红色就是黑色 2. 根节点是黑色 3. 如果节点是红色,那么他的子节点一定是黑色–>新节点的父节点一定为黑色 4. 任何一个节点到NULL(树尾端)的任何路径,所包含的黑节点数目必须相同–...原创 2018-07-18 14:58:11 · 206 阅读 · 0 评论 -
《STL源码剖析》读书笔记(一)
本文为阅读《STL源码剖析》所作的读书笔记,仅供自己留备份学习。STL设计的目的 建立数据结构和算法的一套标准,并且降低期间的耦合关系以提升各自的独立性、弹性、交互操作性。组成 迭代器:设计适当的响应型别容器:设计适当的迭代器算法:完全独立于容器和迭代器之外自行发展,只要设计时以迭代器为对外接口就行STL六大组件 容器(containers),指各种数据结构:vector、li...原创 2018-07-09 20:21:16 · 514 阅读 · 0 评论 -
c++文件从编译到执行
基本步骤编译器链接静态链接与动态链接静态链接动态链接:区别基本步骤预处理 -> 编译 -> 汇编 -> 链接预编译:将源文件hello.c和相关的头文件被预编译器编译成一个hello.ii文件(c语言的话.c文件预编译成.i文件)将#define 删除,展开所有的宏定义处理条件预编译指令,把包含的文件插入到预编译指令的位置(...原创 2018-04-02 15:15:44 · 1418 阅读 · 2 评论 -
指针小结
目录目录声明指针指针赋值给指针解除引用指针和指针指向的值指针和数组指针算术指针和字符串链表使用C++管理数据内存的方式二维指针本篇文章记录一些指针学习的心得总结。声明指针//typeName *pointerName//for example: int * pointer1; double *pointer2;指针赋值...原创 2018-03-11 17:48:26 · 324 阅读 · 0 评论 -
计算时间复杂度
计算时间复杂度public static void main(String []args){ int n = 100; for(int i=0;i<n;i++){ cout<<"Test"<<endl; }} 语句 运行次数 int n = 100 1 int i=0 1...原创 2018-03-17 12:20:07 · 262 阅读 · 0 评论 -
多态与虚表总结
目录目录概述切入点(普通继承)多态(虚函数)虚函数表概述这一篇文章主要是想记录一下多态以及虚表的一些理解。 当派生类使用基类方法,可能需要有所改变,也就是当同一个行为(成员函数)在派生类和基类中的行为不同时,我们需要用到多态,同一个方法的行为随着上下文而有差异,有两种机制可以来实现多态公有继承:在派生类中重新定义基类的方法使用虚函数。切入...原创 2018-03-09 16:44:45 · 244 阅读 · 0 评论 -
C++基本类型
目录目录C++基本类型分类整型整型 short,int,long和long long其他整型类型CONST限定符浮点数sizeof()部分问题总结C++基本类型分类整型 符号整型:signed char, short, int, long, long long无符号整型:unsigned …浮点型:float, double, long ...原创 2018-03-09 15:37:37 · 299 阅读 · 0 评论 -
内联函数
内联函数内联函数简介使用宏与内联简介内联函数是C++为了提高程序运行速度所做的一项改进。 内联函数与常规函数的区别在于:c++如何把它们组合到程序中。编译过程的最终产品是可执行文件,由一组机器语言指令组成。操作系统将这些指令载入到计算机内存中,因此每条指令都有自己特定的内存地址。计算机随后逐步执行这些指令。遇到循环或者分支语句的时候,就会向前或者向后跳到...原创 2018-03-15 21:23:30 · 265 阅读 · 0 评论 -
排序算法总结
外部排序内部排序插入排序选择排序冒泡排序希尔排序归并排序快速排序堆排序基数排序大数据排序:外部排序为什么需要外部排序 指的是待排序记录的数量很大,以致内存一次不能容纳全部记录,在排序过程中需要对外存进行访问的排序过程。 定义 外部排序指的是大文件的排序,即待排序的记录存储在外部存储器上,在排序过程中需进行多次的内、外存之间的交换。 怎么...原创 2018-03-15 21:19:40 · 214 阅读 · 0 评论 -
《STL源码剖析》读书笔记(三)
关联式容器(缩进表示基层与衍生层的关系,衍生是内含关系)RB-tree(非公开) setmapmultisetmultimaphashtable(非标准) hash_set(非标准)hash_map(非标准)hash_multiset(非标准)hash_multimap(非标准)二叉搜索树 任何节点最多只能允许两个子节点平衡二叉树 确保整棵树的深度为O(logN),...原创 2018-07-20 14:59:18 · 148 阅读 · 0 评论