C++
爱马拉松的东宫高兴
程序员的八荣八耻:
以动手实践为荣,以只看不练为耻。
以打印日志为荣,以出错不报为耻。
以局部变量为荣,以全局变量为耻。
以单元测试为荣,以手工测试为耻。
以代码重用为荣,以复制粘贴为耻。
以多态应用为荣,以分支判断为耻。
以定义常量为荣,以魔法数字为耻。
以总结思考为荣,以不求甚解为耻。
展开
-
运算符类重载
使用+号实现复数相加(不使用类重载):#include <iostream>using namespace std;class Complex{public: Complex() { real = 0; imag = 0; } Complex(double r, double i) { real = r; imag = i; } Complex ...原创 2019-03-28 13:40:31 · 231 阅读 · 0 评论 -
STL空间配置器
文章目录空间配置器(了解)1.什么是空间配置器2. 为什么需要空间配置器3. STL空间配置器的实现原理(版本:SGI-STL)3.1STL空间配置器如何实现的?3.2一级空间配置器3.3二级空间配置器1.内存池技术4. 与容器结合空间配置器(了解)1.什么是空间配置器空间配置器,顾名思义就是为各个容器高效的管理空间(空间的申请与回收)的,在默默地工作。虽然在常规使用STL时,可能用不到它,...原创 2019-09-03 13:06:46 · 253 阅读 · 0 评论 -
C++智能指针
智能指针1、为什么需要有智能指针?2、RAII: 资源获取(立即)马上初始化,根据对象的生命周期控制资源。通过构造函数管理资源,析构函数释放资源。资源获取即初始化在析构函数中清理资源3、非常简单的一个智能指针:RAII+operator*/operator->+需要解决浅拷贝的问题:不能采用深拷贝的方式解决(资源是外部用户申请,类管理资源作用,类比:String)浅拷贝后果...原创 2019-09-02 23:33:58 · 111 阅读 · 0 评论 -
C++11简单学习一
文章目录C++11学习(上)1.C++简介2. 列表初始化2.1 C++98中{}的初始化问题2.2 内置类型的列表初始化2.3 自定义类型的列表初始化3. 变量类型推导3.1 为什么需要类型推导3.2 decltype类型推导1. 为什么需要decltype2. decltype4. 范围for循环4.1范围for的语法4.2范围for的使用条件5. final与override6. 智能指针...原创 2019-09-02 13:23:46 · 430 阅读 · 0 评论 -
哈希的应用(位图,布隆过滤器)
的原创 2019-09-02 01:24:34 · 511 阅读 · 0 评论 -
基于哈希的unordered_系列容器实现
文章目录关联式容器:哈希结构哈希表的改造C++11 unordered_系列1. unordered_map2. unordered_set3. unordered_multimap4. unordered_multiset关联式容器:哈希结构哈希表的改造Common.hppconst int PRIMECOUNT = 28;const size_t primeList[PRIMECOU...原创 2019-09-01 11:08:44 · 403 阅读 · 0 评论 -
哈希的简单实现
文章目录关联式容器:哈希结构哈希:用来进行高效查找的一种数据结构----O(1)1.O(1)的根本原因:2.哈希缺陷3.哈希冲突4.常见哈希函数1. 直接定制法--(常用)2. 除留余数法--(常用)3. 平方取中法--(了解)4. 折叠法--(了解)5. 随机数法--(了解)6. 数学分析法--(了解)5.哈希冲突解决5.1闭散列1.线性探测1.1什么时机增容,如何增容?1.2线性探测的优缺点2...原创 2019-08-30 19:36:49 · 770 阅读 · 0 评论 -
C++入门(思维导图)
原创 2019-08-29 12:56:21 · 429 阅读 · 0 评论 -
STL之树形结构关联式容器
哈希结构链接文章目录关联式容器树形结构二叉搜索的平衡树结构关于有序的序列,O(logN)r关联式容器文件: 许多异常的IP地址,找到出现次数最多的前K个IP地址可能需要统计每个IP地址出现次数借助优先级队列–堆 找到前K个IP地址<IP,次数> <英文单词,中文含义>树形结构二叉搜索的平衡树结构关于有序的序列,O(logN)map: <...原创 2019-08-28 00:48:35 · 197 阅读 · 0 评论 -
红黑树实现
文章目录红黑树红黑树的概念红黑树的性质总结红黑树节点的定义思考题红黑树的结构红黑树的插入情况一: cur为红,p为红,g为黑,u存在且为红情况二: cur为红,p为红,g为黑,u不存在/u为黑情况三: cur为红,p为红,g为黑,u不存在/u为黑红黑树的验证红黑树与AVL树的比较红黑树代码实现RBTree.hppmain.cc红黑树红黑树的概念红黑树,是一种二叉搜索树,但在每个结点上增加一个...原创 2019-08-22 17:53:27 · 245 阅读 · 0 评论 -
平衡二叉树(AVL)
文章目录AVL二叉平衡搜索树AVL树的概念AVL树节点的定义AVL树的插入AVL树的旋转左单旋右单旋左右双旋右左双旋总结AVL树的验证AVL树的性能AVL树代码实现AVL二叉平衡搜索树AVL树可以是一棵空树AVL树:二叉搜索树+每个节点增加平衡因子平衡因子:右子树高度-左子树高度平衡因子的绝对值不能超过1平衡因子: -1 0 1高度:logNAVL树的概念二叉搜索树虽可以缩短查找...原创 2019-08-21 23:00:37 · 366 阅读 · 0 评论 -
二叉搜索树
文章目录关联式容器:树形结构+哈希结构二叉搜索的平衡树结构关于有序的序列,O(logN)二叉搜索树二叉搜索树的概念二叉搜索树操作二叉搜索树的实现二叉搜索树性能分析关联式容器:树形结构+哈希结构文件: 许多异常的IP地址,找到出现次数最多的前K个IP地址可能需要统计每个IP地址出现次数借助优先级队列–堆 找到前K个IP地址<IP,次数> <英文单词,中文含义>...原创 2019-08-14 21:56:41 · 198 阅读 · 0 评论 -
C++多态
环境什么是多态?概念: 多种形态,同一事情不同的场景下所表现出的不同形态多态的分类:静态多态:在编译时就可以确定函数的行为函数重载:Add(1,2) ; Add(1.0,2.0)模板动态多态:在程序运行时确认具体调用那个函数虚函数动态多态的实现条件:必须在继承的体系中基类中必须包含有虚函数,在派生类中必须对基类的虚函数进行重写虚函数调用:必须通过基类的指针或引用...原创 2019-08-12 16:05:46 · 225 阅读 · 0 评论 -
C++异常
文章目录异常==C语言传统的处理错误的方式==setjmp实现C++异常概念**==异常是一种错误处理的方式,当一个函数发现自己无法处理的错误时就可以抛出异常,让函数的直接或间接的调用者处理这个错误==**异常的使用异常的抛出和捕获异常安全异常规范自定义异常体系C++标准库的异常体系C++异常的优缺点异常的优点:异常的缺点:异常0、程序一般有几种退出方式?正常退出:运行到主函数最后一条语句...原创 2019-08-12 16:01:34 · 387 阅读 · 0 评论 -
京东笔试第一题,不知道能不能过全部,希望来大佬测试下!
#include<iostream>#include<vector>using namespace std;int main(){ int N; while (cin >> N) { int i = 1; vector<int> Height(N + 1); int count = 0; for (; i < N ...原创 2019-08-24 21:33:01 · 274 阅读 · 0 评论 -
C++重载运算符的友元重载
定义格式 friend 类名 operator 运算符名称(形参表)实现“+”和“-”#include <iostream>using namespace std;class Complex{public: Complex() { real = 0; imag = 0; } Complex(double r, double i) { real =...原创 2019-03-28 13:50:54 · 2782 阅读 · 0 评论 -
日常练习,c++的静态数据成员和静态成员函数。
商店销售某一商品,上带你每天公布统一的折扣(discount)。同时允许销售人员在销售时灵活掌握售价(price),在此基础上,对一次购买10件以上者,还可以享受98折优待。#include <iostream>#include <stdlib.h>#include <time.h>using namespace std;class Story{p...原创 2019-03-28 12:55:16 · 347 阅读 · 1 评论 -
C/C++动态内存管理
文章目录C/C++动态内存管理1. C/C++内存分布2. C语言中动态内存管理方式空间申请:空间释放:内存泄漏3. C++中动态内存管理3.1 new/delete操作内置类型3.2 new和delete操作自定义类型4. operator new与operator delete函数(重要点进行讲解)5. new和delete的实现原理6. 定位new表达式(placement-new)7. 常...原创 2019-09-28 22:23:47 · 512 阅读 · 0 评论