
c++
烟华
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
二叉树顺序存储的应用之堆
二叉树顺序存储的应用之堆 1,堆的概念 将元素集合按照二叉树顺序存储的方式存储到数组中,满足任意节点比其孩子节点大或小。 2,堆的性质 堆顶元素一定是最小的或者最大 堆中每个元素都大于或小于其孩子节点 堆是一颗完全二叉树 3,堆的基本操作 以建立小堆为例: typedef int HDataType; typedef struct Heap { HDataType* array; int capacity; int size; }Heap; (1)建堆操作 根据元素个数初始化堆空间 将数组中原创 2020-08-14 17:31:22 · 271 阅读 · 0 评论 -
海量数据的面试题总结
1,给一个超过100G大小的log file, log中存着IP地址, 设计算法找到出现次数最多的IP地址? 与上题条件相同,如何找到top K的IP?如何直接用Linux系统命令实现 对于这个问题,最主要的就是要得到每个IP地址所出现的次数,只有得到了每个IP地址所出现的次数,我们就能得到出现次数最多的IP地址,也能够通过一个优先级队列(堆)从而找到前k个出现次数最多的IP地址,如何来得到每个I...原创 2020-03-10 11:53:45 · 241 阅读 · 0 评论 -
C++ -- 智能指针 auto_ptr,unique_ptr,shared_ptr的简单实现和原理
一,RAII RAII–资源获取时就初始化,在构造函数中申请资源,在析构函数中释放资源。 简单模拟实现: template<class T> class smartptr { public: smartptr(T* ptr = nullptr) :_ptr(ptr) { cout << "smartptr(T* )" << endl; } ~sm...原创 2019-12-08 18:28:28 · 769 阅读 · 0 评论 -
C++ --继承(菱形继承)
一,什么是继承? 继承是类和类之间的关系,是代码复用的重要手段,允许在保持原有类结构的基础上进行扩展,创建的新类与原有的类类似,只是多了几个成员变量和成员函数。 二,继承的方式 class 派生类名 :继承方式 基类名 {}; 继承的方式有以下三种: 需要注意的是: 1,若不表明是以何种方式继承,使用关键字class时默认是私有继承,使用struct关键字时默认公有继承 2,上面的不可访问...原创 2019-11-27 16:50:53 · 1170 阅读 · 0 评论 -
C++ -- 入门基础
一,目录 1,C++关键字 2,命名空间namespace 3,C++的输入和输出 4,缺省参数 5,函数重载 6,引用 7,内联函数 8,auto关键字 9,基于范围的for循环 10,指针空值-nullptr 二,内容介绍 C++关键字 C++一共有63个关键字 而C语言有32个关键字如下: 命名空间namespace: **目的:**对标识符的名称进行本地化,以避免命名冲突或名字污染 *...原创 2019-09-14 12:00:13 · 181 阅读 · 0 评论 -
C++ --类和对象的知识总结
一,目录 1,类和对象的初识 2,类的六个默认成员函数 3,explicit关键字,static关键字的作用 4,友元 5,内部类 二,正文 1,类和对象的初识 (一)类的两种定义方式: 1,声明和定义全部放在类体中 2,声明放在.h头文件中,类的定义放在.cpp文件中 (注意:只在类外实现方法时,需要注意加上作用域限定符) (二)了解封装 概念:将数据和操作数据的方法有机结合,隐藏对象的属性和实...原创 2019-09-29 16:16:47 · 429 阅读 · 0 评论 -
C++ --c/c++内存管理
一,目录 1,c/c++的内存分布 2,C语言中的动态内存管理方式 3,C++内存管理方式 4,定位new的表达式(place-new) 5,malloc/free和new/delete的区别 二,正文部分 1,c/c++的内存分布 2,C语言中的动态内存管理方式 3,C++内存管理方式 4,定位new的表达式(place-new) 5,malloc/free和new/delete的区别 ...原创 2019-10-01 16:07:34 · 241 阅读 · 0 评论 -
C++ --函数模板初阶的知识总结
一,泛型编程 编写与类型无关的通用代码,是代码复用的一种手段,模板是泛型编程的基础。 二,函数重载和函数模板的关联 函数重载:定义函数名相同而形参列表(形参个数或形参类别)不同的多个函数。。 函数模板:创建一类实现逻辑(函数体)一样,只是用到参数的类型不同的函数的公式。 区别: 1,函数重载用于定义功能相似的同名函数,提高函数的易用性,但代码复用率低,只要有新类型出现就要增加对应的函数,而且代码可...原创 2019-10-08 22:42:55 · 206 阅读 · 0 评论