STL_deque

STL_deque

bingliaolong C++ 6年前 14 0

概述 vector是单向开口的连续线性空间,而deque则是一种双向开口的连续线性空间。 所谓双向开口,是指可以在头尾两端分别做元素的插入和删除操作。 区别 和vector相比: deque运行常数时间内对起头端进行元素的插入和移除操作 deque没有所谓的容量的概念,因为他是动...

C++并发编程 _ 共享数据

C++并发编程 _ 共享数据

bingliaolong C++ 6年前 18 0

概述 如果我们在线程间共享数据,我们需要设置规则,哪个线程可以访问数据的哪一位,什么时间以及如何将更改传达给关心数据的其他线程。 关键点 问题 从整体上来看,所以线程之间共享数据的问题,都是修改数据导致的。如果所有的共享数据都只读的,就没有问题,因为一个线程所读取的数据不受另一个...

创建型:单例模式

创建型:单例模式

概念 保证一个类仅有一个实例,并提供一个该实例的全局访问点 场景 应用程序的日志应用 读取配置文件 数据库连接池 多线程线程池 必须有一个类的实例,并且必须可以从一个著名的访问点访问它 当唯一的实例可以由子类扩展,并且客户端应该能够使用扩展的实例而无需修改其代码 实现 普通实现 ...

2020_05_11_02

2020_05_11_02

多态 编译时多态 通过函数重载实现 运行时多态 多态性可以概括为“一个接口,多个方法”,程序运行时才决定调用哪个具象化函数 多态通过虚函数实现,虚函数允许子类重新定义成员函数,而子类重写定义父类函数的做法叫做覆盖,override vector底层 vector底层实现是封装了顺...

2020_05_11_01

2020_05_11_01

虚函数 虚函数 虚函数机制用以支持一个有效率的“执行期”绑定。 虚函数指针 C++对象模型: 每个class产生出一堆指向虚函数的指针,放在表格当中。这个表格被称为svirtual table。 没一个类对象被安插一个指针,指向相关的virtual table,这个指针通常被称为...

【Nowcoder-May】

【Nowcoder-May】

bingliaolong Acm 6年前 18 0

华为在线机试训练 求最小公倍数 Question 正整数A和正整数B 的最小公倍数是指 能被A和B整除的最小的正整数值,设计一个算法,求输入A和B的最小公倍数。 输入描述: 输入两个正整数A和B。 输出描述: 输出A和B的最小公倍数。 实例 输入 5,7 输出 35 Ans

查找_二分查找

查找_二分查找

bingliaolong Algorithm 6年前 18 0

简述 也叫折半查找,性能优异。 但是所查找的数列必须是有序序列。 复杂度 时间复杂度 log2(N) 实现 非递归实现 递归实现 插值查找 二分查找每次都会计算出一个mid,然后拿这个mid的值去做比较 $$ mid = \frac{(low+high)}{2} $$ $$ mi...

排序_桶排序

排序_桶排序

bingliaolong Algorithm 6年前 20 0

简述 桶排序需要创建若干个桶来协助排序。 所谓桶,每个桶bucket代表一个区间范围,里面可以承载一个或多个元素。 复杂度 名称 最好 平均 最差 空间 稳定性 桶排序 n+k n nlog(n) n 是 实现 算法导论 桶排序思想,假设对数组A[p...r]排序,首先将这些元素...

排序_计数排序

排序_计数排序

bingliaolong Algorithm 6年前 15 0

简述 计数排序适用于对一定范围内的元素进行排序。 它的思路就是创建一个范围性的计数数组,用下标去对应元素的值,有几个元素,相应下面命中几次。然后根据元素命中次数对下标值进行一次输出,得到的序列就是有序的序列。 它是不需要进行元素比较。 注意: 当数列最大和最小值差距过大时,不适合...

扫一扫二维码分享