自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(43)
  • 收藏
  • 关注

原创 VS2022连接数据库以及常用的连接函数

【代码】VS2022连接数据库以及常用的连接函数。

2024-03-05 09:00:35 492

原创 VS2022连接MYSQL数据库乱码解决方案以及注意事项

### 为什么能够使用不同的编码?1. **自动编码转换**:MySQL 服务器会根据客户端设置的字符集自动转换数据。当数据从数据库发送到客户端时(查询操作),如果客户端使用的字符集(如 GBK)与存储数据的字符集(如 UTF-8)不同,MySQL 会将数据从存储的字符集转换为客户端设置的字符集。同样,当数据从客户端发送到服务器时(如插入或更新操作),MySQL 也会进行适当的转换。2. **设置客户端字符集**:在连接数据库时,客户端(VS 或其他应用程序)可以指定要使用的字符集。如果你在连接字符串

2024-03-05 08:53:43 402

原创 红黑树的原理

定义 — 是每个节点都带有颜色属性(颜色为红色或黑色)的自平衡二叉查找树,满足下列性质:1)节点是红色或黑色;2)根节点是黑色;3)所有叶子节点都是黑色节点(NULL);4)每个红色节点必须有两个黑色的子节点。(从每个叶子到根的所有路径上不能有两个连续的红色节点。5)从任一节点到其每个叶子的所有简单路径都包含相同数目的黑色节点。

2023-09-17 22:02:38 278

原创 哈夫曼编码原理及实现

构建编码树的方法是将频率最低的两个符号合并为一个新节点,该节点的频率为两个节点频率之和。哈夫曼编码(Huffman Coding)是一种用于数据压缩的编码方法,它通过给出不同的数据符号分配不同长度的编码,使得出现频率高的符号具有较短的编码,而出现频率低的符号具有较长的编码,从而达到压缩数据的目的。然而,对于哈夫曼编码的最佳性能,符号的频率应该是根据数据集的统计特征进行调整的。由于频率高的符号具有较短的编码,而频率低的符号具有较长的编码,所以整个编码后的数据长度会相对减小。

2023-09-17 21:52:20 1517

原创 二叉树的具体原理及实现

如果要插入的键值小于当前节点的键值,并且当前节点没有左子节点,则将新节点作为当前节点的左子节点;如果要插入的键值大于当前节点的键值,并且当前节点没有右子节点,则将新节点作为当前节点的右子节点。首先,找到要删除的节点。如果要删除的节点有两个子节点,可以找到其右子树中的最小节点(或者左子树中的最大节点)来替换它。将要删除的节点的值,与节点 root 节点进行比较,若小于则去到左子树进行比较,若大于则去到右子树进行比较,重复以。4.删除节点存在左右子节点,则取左子树上的最大节点或右子树上的最小节点替换删除节点。

2023-09-17 21:39:20 605

原创 C++友元函数和友元类

在C++中,友元(friend)是一种机制,允许某个类或函数访问其他类的私有成员。通过友元,可以授予其他类或函数对该类的私有成员的访问权限。友元关系在一些特定的情况下很有用,例如在类之间共享数据或实现特定的功能。友元可以分为两种类型:类友元和函数友元。友元的使用场景包括但不限于以下情况:当两个或多个类需要共享私有数据时,可以使用类友元来实现数据的直接访问,而无需通过公有接口。当某个类需要提供特定函数或操作给其他类使用,但这些函数需要访问类的私有成员时,可以使用函数友元。

2023-08-18 13:53:07 105

原创 函数指针与指针函数

函数指针与指针函数详解

2023-07-04 17:53:40 192

原创 顺序表的实现

结构体定义 # define MAX_SIZE 100 struct _SqList {// 顺序表的基地址 int length;// 顺序表的长度 int size;// 顺序表总的空间大小 }100结构体定义 # define MAX_SIZE 100 struct _SqList {// 顺序表的基地址 int length;// 顺序表的长度 int size;// 顺序表总的空间大小 }

2023-01-01 11:14:33 115 1

原创 C++,STL,set,multiset容器

set和multiset是一个集合容器,其中set所包含的元素是唯一的,集合中的元素按一定的顺序排列。set采用红黑树变体的数据结构实现,红黑树属于平衡二叉树。在插入操作和删除操作上比vector快。在n个数中查找目标数的效率是 log2 n红黑树定义 — 是每个节点都带有颜色属性(颜色为红色或黑色)的自平衡二叉查找树,满足下列性质:1)节点是红色或黑色;2)根节点是黑色;3)所有叶子节点都是黑色节点(NULL);4)每个红色节点必须有两个黑色的子节点。(从每个叶子到根的所有路径上不能有两个连续

2022-12-05 21:45:02 140

原创 C++,STL,List容器

/反转链表,比如list包含1, 2, 3, 4, 5五个元素,运行此方法后,list就包含5, 4, 3, 2, 1元素。//在pos位置插入[beg,end)区间的数据,无返回值。//在pos位置插入一个elem元素的拷贝,返回新数据的位置。//将[beg, end)区间中的数据拷贝赋值给本身。//删除[beg,end)区间的数据,返回下一个数据的位置。//将[beg, end)区间中的元素拷贝给本身。//删除pos位置的数据,返回下一个数据的位置。

2022-11-22 22:08:57 107

原创 C++,STL,deque容器

deque是“double-ended queue”的缩写,和vector一样都是STL的容器,唯一不同的 是: deque是双端数组,而vector是单端的。//将[beg, end)区间中的数据拷贝赋值给本身。//在pos位置插入一个elem元素的拷贝,返回新数据 的位置。//在pos位置插入[beg,end)区间的数据,无返回值。//构造函数将[beg, end)区间中的元素拷贝给本身。//删除[beg,end)区间的数据,返回下一个数据的位置。//存放float的deque容器。

2022-11-19 11:13:14 93

原创 C++,STL,vector容器

vector相当于顺序表vector是将元素置于一个动态数组中加以管理的容器。vector可以随机存取元素,支持索引值直接存取, 用[]操作符或at()方法对元素进行操作vector尾部添加或移除元素非常快速。但是在中部或头部插入元素或移除元素比较费时,这是因为在中部或者头部插入数据,所以数据都会移动,会大量拷贝。

2022-11-18 09:46:22 710

原创 利用指针找最大值

实现的方法很简单,一边输入一边判断,遍历数组在使用一个值专门来记数组最大值的下标就可以了,

2022-11-04 23:06:40 5914

原创 顺序栈的各种操作

注意:顺序栈只能在一端操作,后进先出,这是栈的关键特征,也就是说不允许在中间查找,取值,插入,删除,等,操作,掌握好顺序栈的,初始化,入栈,出栈,去栈顶元素等操作即可。2.进出的一端为栈顶(top),另一端为栈底(base),栈可以用顺序存储,也可以用链式存储。1.栈是一种线性表,只不过它是操作,受限的线性表,只能在一端操作。其中,base指向栈地,top指向栈顶。

2022-10-04 19:28:35 285

原创 优先级队列

代码】C++优先级队列。

2022-08-18 09:17:38 191

原创 C循环队列

代码】C++循环队列。

2022-08-18 09:13:36 531

原创 链表实现队列

代码】链表实现顺序表。

2022-08-09 23:36:25 276

原创 顺序表实现队列

其中有两种出队列的方式,原理如下。

2022-08-09 23:33:43 83

原创 Linux 内核“共享”双向链表(高逼格代码)

/一. web 服务器超时的链表结构 typedef struct {int fd;// 使用超时时刻的时间戳表示 } ConnTimeout;} //二.璀璨星空的链表结构 typedef struct {int x;//星星的 x 坐标 int y;//星星的 y 坐标 enum STATUS stat;//状态 unsigned radius;//星星的半径 int step;//每次跳跃的间隔 int color;//星星的颜色 } STAR;}...

2022-08-08 18:42:30 167

原创 C/C++双向链表的各种操作

运行环境:VS2022 X64。

2022-08-06 23:40:50 244

原创 C++单链表,增,改,删,查

单链表的增,改,删,查

2022-07-26 23:14:28 560

原创 让程序在一秒或者多秒中做一件事情

代码】让程序在一秒或者多秒中做一件事情。

2022-07-21 20:29:39 120

原创 C顺序表实现

代码】顺序表实现。

2022-07-21 11:13:06 111

原创 C++类型转换

旧式转型 C风格的强制类型:TYPE b = (TYPE) a例如:int i = 48;char c = (char) i;新式转型C++风格的类型转换提供了4种类型转换操作符来应对不同场合的应用。格式:TYPE b = 类型操作符 ( a )类型操作符= static_cast | reinterpreter_cast | dynamic_cast | const_cast静态类型转换(斯文的劝导,温柔的转换)。如int转换成char主要用法:1.用于类层次结构中基类(父类)和派生类

2022-07-13 22:57:41 305

原创 函数模板_类模板

项目需求: 实现多个函数用来返回两个数的最大值,要求能支持char类型、int类型、double类型变量实际上,以上程序,只需要一个“函数”就可以搞定!函数模板语法所谓函数模板,实际上是建立一个通用函数,其函数类型和形参类型不具体指定,用一个虚拟的类型来代表。这个通用函数就称为函数模板。凡是函数体相同的函数都可以用这个模板来代替,不必定义多个函数,只需在模板中定义一次即可。在调用函数时系统会根据实参的类型来取代模板中的虚拟类型,从而实现了不同函数的功能。由以下三部分组成: 模板说明 + 函数定义 +

2022-06-24 20:00:58 725

原创 C++运算符重载

ps:代码可以直接运行boy.hman.hboy.cppman.cppmain.cpp

2022-06-22 13:37:23 262

原创 C++核心_编程_多态

1.为了避免程序的二义性2.当统一使用父类指针处理的时候,父类指针指向子类的时候,去调用子类里面的方法,实际上调用的是父类的方法运行结果这里就是使用父类指针做统一处理,使用了父类指针指向了子类对象,但是调用的实际上还是父类的函数在父类的成员函数前面加上virtual,使用虚函数来处理,子类可加可不加多态的本质:形式上,使用统一的父类指针做一般性处理,但是实际执行时,这个指针可能指向子类对象,形式上,原本调用父类的方法,但是实际上会调用子类的同名方法。【注意】程序执行时,父类指针指向父类对象,或

2022-06-09 15:00:40 85

原创 C++错误总结

string x;//品种 float y;//重量 float j;//长度 };"草鱼" };return 0;}这是报错的源代码,编译器没有任何报错,但是一编译就出问题,我看了半天才发现原来是struct中的string 前面没有加std::以为我在mani函数前加了using namespace std;但是我定义struct的时候定义在了using namespace std;前面,所以导致了“未知重写说明符”...

2022-04-18 20:44:34 3999

原创 C/C++操作硬件位运算

什么是位?内存的基本单元是字节, 一个字节有 8 位.有那些操作符1.位与 & 0 & 0 0 0 & 1 0 1 & 0 0 1 & 1 1 cout << " 8 & 3 = " << (8 & 3) << endl;// & 00110011// 01010101-----------------得到 00010001ps:对应位, 都是 1, 结果才

2022-03-08 23:38:41 833

原创 C/C++ cout,printf输出控制精度

C++控制精度输出的方法:1.首先需要添加一个#include <iomanip>头文件2.cout << setiosflags(ios::fixed) << setprecision(2) << y;3setprecision(2),这个2代表的是保留小数点的位数C控制精度的方法1.printf("%.2f", y);这里面的%.2f代表的是保留两位小数....

2022-03-03 19:43:53 964

原创 C++自定义函数返回值

#include <iostream>#include <string>#include <Windows.h>using namespace std;double light_year(double w ) { w = w * 63240; return w;}int main(void) { double g=0; double t=0; cout << "请输入光年:"; cin >> g; light_year

2020-10-31 17:05:11 1004 1

原创 switch基本用法

switch用法

2020-07-04 18:00:58 637

原创 C++ I/O文件读写操作

IO: 向设备输入数据和输出数据C++的IO流c++中,必须通过特定的已经定义好的类, 来处理IO(输入输出)文件流: 对文件进行读写操作头文件: 类库:ifstream 对文件输入(读文件)ofstream 对文件输出(写文件)fstream 对文件输入或输出//写文件#include <fstream>#include <iostream>#include <string>using namespace std;

2020-05-22 08:58:50 3766 11

原创 C++面向对象派生继承-笔记

代码:Father.hSon.hFather.cppSon.cppmain.cpp子类, 一般会添加自己的数据成员/成员函数,或者, 重新定义从父类继承的方法!!! 子类对象就会调用自己重新定义的方法, 不会调用父类的同名方法为什么要使用protected访问权限?子类的成员函数中,不能直接访问父类的private成员,已经这些成员已经被继承下来了,但是却不能访问。只有通过父类的public函数来间接访问,不是很方便。比如,刚才Demo中Father类中的name和age成员。解决方

2020-04-19 18:59:13 336

原创 C++面向对象-类的基本使用方法

什么是面向过程?根据程序的执行过程,来设计软件的所有细节。面向过程的缺点:开发大型项目时,越来越难以把控,甚至失去控制。后期维护、更新成本很大。解决方案:使用面向对象。面向过程是C语言的东西,C++是面向对象什么是面向对象?面向对象是一种开发思想,一种全新的开发方式。面向对象思想的重要性:开发大型项目必备,是高级程序员的必备技能!“人类”是一个抽象的概念,不是具体的某个人。“类”,是看不见,摸不着的,是一个纯粹的概念.“类”,是一种特殊的“数据类型”,不是一个具体的数据。注意:类, 和基本

2020-04-04 12:45:02 2370

原创 C++ 笔记-结构体-枚举-类型定义

为什么要使用“结构”(结构体)但需要表示一些复杂信息时,使用单纯的数据类型很不方便。比如:学生信息(学号,姓名,班级,电话,年龄)什么是“结构”结构,就是程序员自定义的一种“数据类型”是使用多个基本数据类型、或者其他结构,组合而成的一种新的“数据类型”。结构的定义struct 结构名 {成员类型 成员名;成员类型 成员名;};比如:struct student {...

2020-03-25 17:59:10 2330 1

原创 C++笔记-动态内存

1.按需分配,根据需要分配内存,不浪费内存拷贝函数void *memcpy(void *dest, const void *src, size_t n);#include功能:从源src所指的内存地址的起始位置开始拷贝n个字节到目标dest所指的内存地址的起始位置中void *malloc(size_t size);void free(void *);malloc 在内存的动态存储区中分配一块长度为size字节的连续区域返回该区域的首地址.突破栈区的限制,可以给程序分配更多的

2020-03-21 21:08:28 346 1

原创 C++笔记-之错误总结

第一个易犯错误char[]类型的字符串不能用==判断,需要用strcmp进行判断string字符串可以用==进行判断int main (void){ //char x[2]; string x1; printf("请选择是读EXCLE还是写!\n"); cin>>(x1); /* if(strcmp(x,"读")!=0 && strcmp(x,"写"...

2020-03-21 15:54:14 237

原创 C++指针笔记

1.函数的值传递,无法通过调用函数,来修改函数的实参.2.被调用函数需要提供更多的“返回值”给调用函数3.减少值传递时带来的额外开销,提高代码执行效率指针的定义注意:32 位系统中,int 整数占 4 个字节,指针同样占 4 个字节64 位系统中,int 整数占 4 个字节,指针同样占 8 个字节什么是空指针?坏指针int *select; //没有初始化情形一printf(“选择的房间是: %d\n”, *select);情形二select = 100;printf(“选

2020-03-17 21:06:21 991 1

原创 C/C++最细循环解析

while循环解析当需要反复执行某些“过程”时,就可以使用 while 循环。语法:while (条件) {语句 1语句 2… }强烈建议,无论循环体内有几条语句,都使用{}while适用于死循环死循环有些场合(比如,游戏引擎的主循环, 就是一个死循环)更多场合,需要避免死循环。break 的作用跳出所在的循环代码:需求:1+2+3+4+…100#include &...

2020-03-08 14:57:24 390

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除