整理重点
文章平均质量分 79
blank
HELLO WORLD!
KEEP CODING!
展开
-
C++_二叉搜索树
1、二叉搜索数的概念二叉搜索树又称二叉排序树,它或者是一棵空树,或者是具有以下性质的二叉树:若它的左子树不为空,则左子树上所有节点的值都小于根节点的值若它的右子树不为空,则右子树上所有节点的值都大于根节点的值它的左右子树也分别为二叉搜索树2、二叉搜索树操作1、二叉搜索树的查找2、二叉搜索树的插入a、树为空,则直接插入如果是空树,直接插入,然后返回trueb、树不空,按二叉...原创 2019-12-10 11:13:01 · 763 阅读 · 0 评论 -
C++_STL中的关联式容器
STL中的容器,比如:vector、list、deque、forward_list(C++11)等,这些容器统称为序列式容器,因为其底层为线性序列的数据结构,里面存储的是元素本身。 关联式容器也是用来存储数据的,与序列式容器不同的是,其里面存储的是<key, value>结构的键值对,在数据检索时比序列式容器效率更高。1、树形结构的关联式容器 树形结构的关联式容器主要有四种:map、set、multimap、multiset。这四种容器的共同特点是:使用平衡搜索树(即红原创 2021-01-08 19:59:36 · 443 阅读 · 1 评论 -
C++_多态
1、什么是多态? 多态就是去完成具体某个行为,当不同的对象去完成时会产生不同的状态。原创 2020-12-22 20:00:29 · 130 阅读 · 0 评论 -
C++_继承
1、什么是继承? 继承机制是面向对象程序设计使代码可以复用的最重要的手段,它允许程序员在保持原有类特性的基础上进行扩展,增加功能,这样产生新的类,称派生类。继承呈现了面向对象程序设计的层次结构,体现了由简单到复杂的认知过程。继承是类设计层次的复用。1.1、struct在C语言与C++中的区别? C语言中:struct是用户自定义数据类型,是一种数据结构的是实现体。 C++中:struct是抽象数据类型,支持成员函数的定义,是一种对象的实现体。1.2、C++中class和struc原创 2020-12-13 19:39:54 · 471 阅读 · 1 评论 -
C++_优先级队列&适配器
待写原创 2020-12-08 20:58:37 · 117 阅读 · 0 评论 -
C++_栈和队列
待写原创 2020-12-08 20:57:10 · 119 阅读 · 0 评论 -
C++_list
待写原创 2020-12-08 20:52:24 · 59 阅读 · 0 评论 -
C++_vector
待写原创 2020-12-08 20:51:35 · 91 阅读 · 0 评论 -
C++_string
C语言中实际没有专门的字符串类型,如果要表示字符串:char* 或者字符数组(\0)。C语言还提供了一个专门用来进行字符串操作的库函数(<string.h>)。C++标准库提供string类类型,支持C里面的所有操作,另外还增加了其它更多的功能。string的常用接口1、常见构造:string(); //构造一个空字符串,以\0结尾string(size_t n, char ch); //用n个字符串ch构造一个string类型的对象string(char* str); //用原创 2020-12-08 15:20:51 · 165 阅读 · 0 评论 -
C++_STL
1、什么是STL STL(standard template library)是C++中的标准模板库,STL实际就是对常见数据结构((顺序表、链表)+栈和队列+二叉树+哈希)以模板的方式进行封装。 通俗来讲,其目的是替用户组织数据,里面还增加了一些非常灵活的通用算法。 通用:与数据类型无关;与数据结构无关(任意类型数据结构组织的数据都可以进行操作)2、STL六大组件容器 STL对常见数据结构的封装(模板类)。 序列式容器:string、vect原创 2020-12-07 21:49:54 · 106 阅读 · 0 评论 -
C++_模板
1、概念 与铸造东西所使用模具类似,用户写一个模具,当按照不同类型对模具进行实例化时,编译器就会根据所使用的类型以及模板来生成具体类型的代码。2、模板分类 函数模板和类模板3、函数模板 函数模板代表了一个函数家族,该函数模板与类型无关,在使用时被参数化,根据实参类型产生函数的特定类型版本。// 返回值类型 函数名(参数列表){}template<typename T>void Swap( T& left, T& right) { T t原创 2020-12-07 21:17:48 · 92 阅读 · 0 评论 -
C++_动态内存管理
1、内存分区C/C++程序运行起来,内存划分的区域,以及每个区域的作用:内核空间:放置操作系统相关的代码和数据。用户不能直接进行操作,可以通过调用系统提供的API函数;栈:与函数调用相关,非静态局部变量 / 函数参数 / 返回值 / 寄存器信息等等。内存映射段:是高效的I/O映射方式,用于装载一个共享的动态内存库,用户可使用系统接口创建共享内存,做进程间通信;数据段:存储全局变量和静态数据代码段:可执行的代码 / 常量进行分区的原因---->方便数据的管理2、malloc/cal原创 2020-12-07 17:07:45 · 143 阅读 · 0 评论 -
C++_类和对象
1、面向对象和面向过程的区别1.1、面向对象和面向过程的区别 面向过程:是以函数驱动的,通过函数之间的相互调用次序来完成事情,重视完成该件事的步骤。 面向对象:关注的不再是完成事情的步骤,关心:如何通过对象之间的交互将事情完成。1.2、C++和C语言的区别:面向对象和面向过程;C++编译器对语法的检测更加严格;C++语言更加的人性化;C++支持面向对象:封装、继承、多态;C++独有的STL;C++更适合做比较复杂、大的工程。2、封装2.1、什么是封装:将数据和操作数据原创 2020-12-07 01:01:58 · 487 阅读 · 0 评论 -
C++_函数重载&引用&内联函数
1、缺省参数1.1、概念:在声明或定义函数时,给函数的参数设置一个默认值,当用户对函数进行调用时,如果传递了实参,则使用用户传递的实参;如果没有传递则使用默认值。1.2、分类:全缺省参数:所有参数都带有默认值;半缺省参数:部分参数带有默认值。规则:必须从右往左依次给出。1.3、特性:缺省参数必须从右往左给出;不能在函数声明和定义的位置同时给出;缺省参数在提供时—常量||全局变量;C语言不支持。2、函数重载2.1、概念:相同作用域下,函数名字相同,参数列表必须不同(参数个数、参数原创 2020-12-06 18:04:37 · 562 阅读 · 0 评论 -
C语言_位运算和常考操作符
1、操作符优先级指针最优,单目运算优于双目运算。如正负号;先算术运算,后移位运算,最后位运算。请特别注意:1 << 3 + 2 & 7等价于 (1 << (3 + 2))&7;逻辑运算最后结合。简单记就是:! > 算术运算符 > 关系运算符 > && > || > 赋值运算符2、移位操作逻辑移位:针对的是无符号类型的数据 左移:丢弃最高位,低位补0; 右移:丢弃最低位,高位补0。算术移位:针对的是原创 2020-12-06 18:03:49 · 90 阅读 · 0 评论 -
C语言_结构体
1、结构体是什么? 结构体是由一批数据组合而成的一种新的自定义类型。2、为什么需要有结构体的类型? 内置类型不能表示所有的场景,比如:学生群体;描述学生:name、age、gender、height。struct Student{ char name[20]; int age; char gender[3]; double height;};3、结构体内存对齐(1)为什么需要内存对齐? 1、平台原因(移植原因):不是所有的硬件平台都能访问任意地址上的任意数据;某些硬件原创 2020-11-27 18:31:07 · 915 阅读 · 0 评论 -
C语言_指针
1、指针是什么? 指针首先是C语言中的一种数据类型,用该种类型定义的变量成为指针变量,该变量中存储的是一个地址。2、指针的大小? 32位系统下:4字节; 64位系统下:vs编译器是按照32位方式编译的:4字节;可以对编译器进行设置,让编译器按照64位方式编译:8字节。3、指针的操作 解引用 * 和 -> ->一般应用于类和结构体中,用于访问其成员。注意:对指针进行++、- - 、+、-数字,一般针对的是指针指向一段连续的空间才有意义。指针相加没有意义,指针相减指两个原创 2020-11-27 15:53:56 · 268 阅读 · 0 评论