- 博客(20)
- 收藏
- 关注
原创 【C++进阶】C++11
C++几个重要的版本:C++98,C++11,C++20C++98中数组和结构体可以用 {} 进行初始化2.2 C++11中的{}C++11以后试图实现一切对象皆可用 {} 初始化,{}初始化也叫列表初始化1)内置类型支持用 {} 初始化2)自定义类型也支持用 {} 初始化3){} 初始化的过程中,可以省略=4)使用容器 push/insert 多参数构造的对象时,使用{}会很方便文档initializer_list 和 列表初始化的区别1)initializer_list 是天然的类型识别,
2025-11-25 01:06:38
970
原创 【C语言基础】实现简易版的扫雷游戏
1.创建两个二维的字符数组(一个数组存放雷,一个数组存放排查出的雷信息)2.如果是9*9的扫雷游戏,需要创建大小为11*11的二维数组。
2025-09-18 20:50:25
807
原创 【C++初阶】模拟实现string(二):swap优化与写时拷贝机制
我们之前模拟实现了string类的一些常用接口,今天我们将继续看看 string 背后的一些实现细节,比如 swap 的不同写法、拷贝构造与赋值运算符的简洁实现,以及“写时拷贝”的相关概念。
2025-05-26 19:29:09
834
1
原创 【java】小练习--零钱通
本文是我跟着B站韩顺平老师的 Java 教程学习时动手实现“零钱通”项目的学习笔记,主要用于记录自己的学习过程,方便复习和巩固。
2025-05-24 21:16:44
1032
原创 【C++初阶】模拟实现string(一):实现string的常用接口
我们之前学过了很多string的常见操作,但你可能会好奇这些操作在底层是怎么实现的,今天我们就通过简单地模拟实现string,来帮助你了解它背后的原理。值得说明的是,我们模拟实现string并不是为了“造轮子”,而是通过这个模拟实现的过程,提升我们编程中的抽象能力与实现能力。同时,我们还可以借此机会锻炼对类的封装、动态内存管理等底层知识的掌握。
2025-05-22 09:51:57
623
原创 【刷题记录 · 2】
我们当时的思路是先将所有活动区间按照区间的左端点按从小到大排序,排序后,判断区间是否相交,只需要判断前一个区间的左端点是否大于等于后一个区间的右端点。所以,我们存已处理的区间的右端点的时候,可以存到小根堆里面,这样的话,堆顶就是最小的,如果新来的区间的左端点大于堆顶元素的值,那么就更新堆顶元素的值,如果小于等于堆顶的值,那么就让这个新区间的右端点进堆。因为我们每次只需要让新来的区间的左端点和已处理的区间的右端点比较,所以,对于已处理的区间,我们只用存它的右端点,然后看新来的区间的左端点是否大于这个数。
2025-05-07 21:55:44
794
原创 【刷题记录 · 1】
dp[i][j]表示:从前i个数中挑选,总和恰好为j,能否凑成(true / false)细节:如果sum是奇数,就false。
2025-05-06 22:10:27
302
原创 【C++初阶】string的介绍和使用
我们在学习 C/C++ 时接触过基本的数据类型,如intchardouble等,但这些类型并不适合处理“字符串”这种在实际编程中非常常见的数据,比如姓名、书名、电话号码等。在 C 语言中,我们通常使用字符数组(char[])来表示字符串。但这种方式不仅需要手动管理内存,还在进行插入、删除、拼接等操作时非常繁琐,容易出错。比如添加字符时可能需要手动扩容,插入时还要挪动数组内容,非常不便。为了简化这些操作,C++ 提供了一个更高层的封装类型——。
2025-05-06 01:06:13
840
原创 【MySQL数据库初阶】03MySQL操作库
我们把test02这个数据库备份到 /home/zhangsan/MySQL/ 这个路径下的 test01.sql 这个文件中,会发现该路径下多个了一个名为 test01.sql 的文件。我们发现,使用不区分大小写的校对规则 utf8_general_ci 时,会认为 tom 、Tom、toM 这三者。如果备份一个数据库时,没有带上 -B 参数,需要先创建空数据库,然后使用数据库,再使用source来还原。如果我们在访问数据库的时候,发现比较慢,可以查看当前有哪些用户在连接我们的mysql,
2025-05-01 23:58:21
1096
2
原创 【C++初阶】模版初阶和STL的简介
如果一个类中的数据成员的数据类型不能确定,或者是某个成员函数的参数或者返回值的类型不能确定,就必须将此类声明为模板。class 类模版名//类内成员定义public:_size = 0;int main()//实例化生成对应的类,这里是两个不同的类型//int//doublereturn 0;使用类的模版后,我们就可以创建多个存有不同数据类型的栈了。而使用 typedef 或 using 就只能创建存有同一种数据类型的栈。
2025-04-28 19:41:18
836
原创 【MySQL数据库初阶】02数据库基础
本文主要介绍了MySQL数据库的基础知识,包括数据库的基本概念、MySQL的使用方法、数据库架构及SQL语句分类等内容。数据库本质是一种数据存储解决方案,相比文件存储具有更高效的数据管理能力。MySQL作为关系型数据库,采用客户端-服务器模式运行,通过SQL语句进行数据操作。文章详细说明了数据库的创建、表结构的定义、数据的增删改查等基本操作,并解释了数据库、表与存储引擎之间的关系。最后对比了MySQL常用的InnoDB和MyISAM存储引擎的特点,为数据库学习提供了基础知识框架。
2025-04-27 17:25:10
1100
原创 【MySQL数据库初阶】01MySQL的安装
然后再次输入安装mysql服务的命令:yum install -y mysql-community-server。mysql中的数据默认在 /var/lib/mysql 路径中,mysql在卸载是时,默认不会把数据删掉。因为我们系统默认所支持的yum源里没有mysql,所以我们需要安装yum源。查看网页源代码,然后点击符合自己系统版本的MySQL,就会自动帮我们下载。因为我的系统是CentOS 7.8,所以我选择的是 el7 对应的安装包。但是由于网页的问题,现在上面的很多资源查看不清楚,我们可以右击。
2025-04-25 18:44:30
528
原创 【数据结构初阶】C语言实现动态顺序表
对哪块空间增加地址 增加多少字节的空间(realloc第二个参数是size_t类型),应该申请4个整型大小(16字节)的空间。动态申请空间可能失败,可能成功,realloc如果申请空间失败 会返回NULL,导致顺序表里的所有数据都清空了,空间不够:先增容 (一般两倍) ,然后在size指向的位置插入一个数据,再size++数据是一块一块的,用指针链接起来(java中用引用来链接) - - 空间是不连续的。Seq:是sequnce的缩写,意思为流畅的,流利的。
2024-07-12 21:50:57
1164
2
原创 【C语言基础】数据在内存中的存储
C语言中数据类型主要包括内置类型和自定义类型(构造类型)内置类型:C语言本身就有的类型自定义类型:自己可以创造或改变这个类型大致分类如下:在计算机中,内存被分为一个个字节存储在内存中,对于超过一个字节的数据(比如 short-2 , int-4),就需要考虑它在内存中存放顺序的问题。字节序存储的两种常见方式为大端字节序存储和小端字节序存储浮点数的表示(1) 一般写法,比如:3.1415926(2)科学计数法,比如:1E10 表示1.0乘以10的10次方。
2024-07-07 14:34:27
857
1
原创 【C语言基础】逻辑操作符(短路相关题目)
根据 || 短路的特点,由于 a++ || ++b || d++(可以看成 (a++ ||++b ) || d++ ) 已经有一个表达式为真了, 所以后面的表达式,即d++不会再判断了,并且返回1,所以 i = 1。由于&&有短路的特点,只要有一个表达式结果为假,后面的表达式就不再判断, 直接返回0(假),也就是表达式++b和d++不会执行,并且最后 i = 0。表达式1 || 表达式2,如果表达式1求出的结果为真,那么就不会再执行表达式2了,而是直接返回1(真)
2024-06-25 02:59:53
374
原创 【C语言基础】内存相关的函数
内存相关的函数主要是针对内存块的,可以处理任意类型的数据操作数据时是以字节为单位进行操作的内存相关的函数可以接收任意类型的指针(void*),然后其强制转换成字符型指针,再通过一个字节一个字节地操作,最后完成对整个数据的操作使用要包含头文件 string.h一. memcpy内存拷贝函数memcpy函数作用:只要是放在内存里的数据,就都可以进行拷贝返回的值:返回的是目标空间的起始地址形参列表分别对应:目标空间的地址,源空间的地址,要拷贝的字节个数函数的使用int main()
2024-05-29 20:49:51
1300
原创 【C语言基础】字符函数和字符串函数
C语言中字符函数和字符串函数是非常重要的,可以方便我们对字符和字符串进行处理。本文中主要介绍几种常见的字符函数和字符串函数。
2024-05-28 20:58:32
1129
1
原创 【C语言基础】指针梳理
本文摘要: 本文系统介绍了C语言指针的核心概念与应用。首先从指针基础入手,讲解了指针变量、取地址与解引用操作符的原理,分析了指针类型对解引用和运算的影响,以及指针变量大小与环境的关系。其次详细阐述了指针与数组、函数、字符的结合应用,包括数组指针、函数指针等特殊指针类型的使用场景。最后探讨了const修饰指针的语法规则、野指针的成因与防范措施,以及assert断言在指针有效性检测中的应用。全文通过大量代码示例和内存示意图,直观展示了指针操作机制,为深入理解C语言指针提供了完整的学习路径。
2024-05-18 22:42:27
1210
原创 【C语言基础】C语言常见概念(知识点)
二进制语言(0,1)===>汇编语言(借助助记符)===>B语言===>C语言===>Unix系统使用C重写(高级语言)" "用于表示字符串 ' ' 用于表示字符,如:'a' '@' 错误示范 'ab'例如:VS(集成MSVC) , XCode(苹果,集成clang),DevC++(集成gcc)等。IDE(集成开发环境),集成代码的编写,分析,编译,调试等功能为一体。2.\'表示单引号 \"表示双引号 \\ 表示 \。(美国)国际标准ANSI C --C89/C99。
2024-04-26 01:30:45
683
原创 【C语言基础】循环语句(易混知识点)
执行流程:1. i = 0, i < 3成立——>i == 1不成立——>打印 i ,(i = 0)——>i++执行流程:1. i = 0, i < 3成立——>i == 1不成立——>打印 i ,(i = 0)——>i++执行流程:1. i = 0, i < 3成立——>i == 1不成立——>打印 i ,(i = 0)——>i++1.此时 i = 1 ——>判断 i < 2,成立——>打印 i (此时 i = 1)——>i++2.continue执行时,跳过本次循环(跳过本次continue后的代码)
2024-04-16 00:01:13
946
1
空空如也
为什么从vs打开控制台输入不了中文?
2024-04-12
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅