- 博客(21)
- 收藏
- 关注
原创 数据结构之图的存储与遍历
一 图的定义图G由两个集合V和E组成,记为 G = ( V , E ) V是顶点的有穷非空集合,E是V中顶点偶对的有穷集, 这些顶点偶对称为边。通常V(G)和E(G)分别称为图的顶点集合和边集合。注: E(G)可以为空集。二,分类图又分为有向图和无向图,个人理解数据间有无箭头同时,把描述边的信息的数据叫做权值,又分了有权无权端点和邻接点:在一个无向图中,若存在一条边<vi,vj>, 则称vi,vj为该边的两个端点,并称它们互为邻结点。起点和终点..
2022-04-06 17:29:32
559
原创 初识二叉树,存储与遍历
二叉树,顾名思义就是有两个叉的树,每个叉又可以在长出两个或一个叉,哈哈哈。大致这个样子:左边的叫左子树,右边的叫右子树二叉树的五种形态:二叉树的遍历:前序(先序),中序,后序,层次遍历。我们就拿这个二叉树举例:前序遍历:根左右的方式,三个三个节点得看比较好遍历ABC——ABDEC——ABDEGC——ABDEGCF——ABDEGCFH中序遍历:左根右的方式,还是三三BAC——DBAC——DBEAC——DBGEAC——DBGEACHF后序遍历:左右根的方式,三三.
2022-03-06 11:19:26
699
原创 双向链表的基本操作
1. 与双向链表的初相识首先,要明白它长什么样子: 通过观察可以发现这玩意由好几个单体组成,长度不定。欸嘿嘿,但每一个单体都是一样的啊。————有数据,有指向上一个单体的指针,有指向下一个单体的指针,只不过首尾指向空而已。那么这几行代码就不南个理解啦!typedef struct Node{ int data;//节点里存储的数据 struct Node* front;//指向前一个单体的指针 struct Node* tail; //指向后一个单体的指针}NODE,*.
2022-01-18 20:54:02
311
原创 C++文件系统
filesystem简介#include <filesystem>#include <iostream>using namespace std;int main(){ filesystem::path ur1("fileBox"); if (!filesystem::exists(ur1)) { cout << "不存在" << endl; }//路径存在不做创建处理 filesystem::create_directory("f
2022-01-08 18:53:30
363
原创 C++时间管理,随机数
1. 时间管理: 时间段:表示时间间隔,秒,微妙啊等等。。。时钟: system_clock:steady_clock:high_resolution_clock:公用的函数:static time_point now() ;获取当地时间点static time64 to_time_t(const time_point x);time_point from_time_t(time_t x);时间转换duration_cast 不属于duration类浮点时...
2022-01-06 14:30:57
606
原创 C++STL算法
1. STL查找算法基本查找: find:区间查找 find_if:条件查找 find_first_of:查找区间第一次出现值 adjacent_find:查找第一次重复的数 search:子序列查找 search_n:子序列查找出现次数统计查找: count:区间统计 count_if:条件统计个数 equal:比较有序查找: binary_search:二分查找 upper_bound:查找在最后一个大于...
2022-01-03 20:03:25
381
原创 C++STL迭代器
1.迭代器 的认知迭代器: 就是一个类中类,通过运算符重载通过类中类的对象去遍历容器迭代器的分类 : 正向迭代器: iterator begin(); end(); 反向迭代器: reverse_iterator rbegin(); rend(); 常正向迭代器: const_iterator...
2022-01-02 18:57:53
293
原创 C++STL容器
定长数组array动态数组vector双向链表list栈stack队列queue、deque集合set、multiset、bitset映射map、multiset
2021-12-19 10:21:07
1222
原创 C++模板
模板:把类型当作未知量来处理,可以忽略类的影响1 函数模板模板的声明 :template <typename _Ty> //_Ty可以改,类型的代号 typename可以改为class调用函数模板:隐式: 正常函数传参 显示: 函数名<类型名>(参数)函数模板的两种形态:普通函数当作函数模板 类的成员函数当作函数模板函数模板特殊写法:...
2021-12-11 21:29:26
431
原创 C++中的异常处理
1 基本的异常处理 异常处理机制:暂缓问题处理,不在当前函数中处理,在调用者中处理 任何东西都可为异常,错误只是异常的一种 异常一旦抛出,不做处理,引发异常时,调用abort终止程序 捕获与处理 throw抛出异常 try(检查,捕获)catch(处理异常) tyr和catch一起出现 删减符...任何类型的数据都捕获2 异常处理中的...
2021-12-09 09:44:47
485
原创 C++中的IO流
流:若干字节的数据从一端到另一端 流类体系:输入输出流,字符流,文件流 流运算符:<< >>输入输出流:ostream类cout,cerr, clog,字符类的处理,格式控制字符包含iomanip常用格式控制:成员函数方式,流控制字符设置有效位数:setprecision(n)设置精度:fixed结合se...
2021-12-07 16:16:20
134
原创 C++中的虚函数与多态
1 虚函数与虚函数表 虚函数:用virtual修饰的成员函数 虚函数表:就是一个指针存储所有虚函数的首地址#include <iostream>using namespace std;class student{public: void print()//普通函数不影响类的内存 { cout << "普通函数" << endl; } virtual void print1()//虚函数类的内存增加,不论几个增加不变 {//32...
2021-12-06 15:18:33
365
原创 C++中的继承和派生
1.继承方式与权限问题 继承的实质与权限: 实质:父类的数据和成员在子类中也有一份 权限:继承方式只会增强父类属性在子类中的权限显示 public protected private protected继承 protected protected 不可直接访问 public继承 public protected 不可直接访问 private继承 private private ...
2021-11-30 16:28:48
788
原创 C++中类的组合
一另一个类的对象为数据成员 构造函数的写法必须采用初始化参数列表的写法#include <iostream>using namespace std;class student{public: student() = default; student(string name, int age) :name(name), age(age) {} void printsdata() { cout << name << endl &l...
2021-11-27 08:48:08
559
原创 C++中的运算符重载
运算符重载定义:赋予运算符具有操作自定义类型数据功能实质:函数的调用写法:函数返回值 函数名(函数参数)函数返回值由运算完成后的值决定 函数名:operator加上重载运算符 参数:看运算符的操作数友元函数&类成员函数重载运算符#include <iostream>using namespace std;class Complex{public: Complex() = default;//指定使用默认的无参构造函数 Complex(in...
2021-11-25 11:34:34
795
原创 C++中的特殊成员
1. const成员 1.1 const数据成员 const类型变量是不可修改的只读模式,必须采用初始化参数列表方式进行初始化 1.2 const成员函数 写法:const写在函数后面 常成员函数不能修改数据成员,只可读取 常成员函数可以和普通函数同时存在 当常成员函数和普通函数同时存在时,普通对象优先调用普通函数 1.3 const对象...
2021-11-23 14:10:43
1004
原创 C++中的构造和解析
1构造函数1.1构造函数的形式 函数名和类名相同 没有返回值 如果不写构造函数,任何类中默认存在一个构造函数,默认是无参的 当自己写了构造函数时,默认的构造函数就不再存在 构造函数在构造对象时调用 删除默认构造函数delete 指定使用默认的无参构造函数用default说明 允许构造函数调用另一个构造函数,只是要用初始化参数列表的写法 初始化参数列表:只有构造函数有 ...
2021-11-21 12:25:03
930
原创 C++中的类和对象
1类和对象的基本概念1.1什么是类:一系列事物的抽象,万物皆可为类 类由两部分组成:属性 行为 属性:事物的特征——>数据类型描述 行为:事物的的操作1.2 什么是对象:类的具体化,类的实例化1.3类的特点:封装,继承(派生),多态2类的定义2.1创建语法#include <iostream>...
2021-11-18 13:35:37
324
1
原创 与C++的再邂逅
C++与C的区别1结构体区别1.1:类型不再使用struct关键字,直接用结构体名即可1.2:C++结构体中允许函数的存在 1.2.1在结构体中声明,在结构体或者内外实现 1.2.2结构体中函数访问数据,可以直接访问 1.2.3学会调用,和数据成员方式一样 对象(结构体变量).成员 对象指针->成员 (*对象指针).成员 C++在没有写构造函数...
2021-11-16 14:56:32
646
1
原创 与C++的初相识
1.头文件的引用与命名空间的初相识(C++文件以.cpp为后缀哦)//头文件包含形式#include <stdio.h>//像C语言那样包含C语言库#include <cstdio>//去掉.h,在文件名前加c,包含C语言库时可如此操作#include <iostream>//C++标准输入输出流头文件//与命名空间的初相识namespace 空间名1{ int a = 1;}namespace 空间名2{ int a = 2;}//命名空
2021-11-13 22:48:12
156
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人