自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 “轻松校园”论坛系统测试报告

轻松校园论坛测试报告

2024-05-27 16:16:41 348

原创 个人博客系统测试报告

个人博客系统测试

2024-05-27 16:15:45 243

原创 前端学习、CSS

选中页面中的所有元素,可以让页面所有元素都被选中,通常用于干掉浏览器的默认样式。例如:文本默认的颜色,字体大小,默认段落间距等,这种没有指定样式,也会默认带的,这是浏览器赋予的默认样式,在不同浏览器上可能不一样。计算机中典型的标识方式,就是使用一个字节,表示R,一个字节表示G,一个字节表示B。这六位里,只有前两位为f表示红色,只有中间两位为f表示绿色,只有最后两位为f表示蓝色。内联样式往往是修修补补,比较直接,具有针对性。rgba比rgb多一个参数,表示透明度(取值为0-1),透明度是1时,表示不透明。

2024-03-02 17:52:38 1052

原创 前端学习、HTML

html是由一些标签构成的,标签之间可以嵌套,每个标签都有开始标签和结束标签,也有部分标签只有开始标签,没有结束标签。html的标签也可以成为元素。(树形结构)html文件的最顶层标签就是html。head用来放属性信息,body放页面上显示的内容。输入!tab直接生成html的初始模板。

2024-03-02 17:52:10 416

原创 MySQL学习四、索引和事务

创建索引操作,也是一个低效操作,如果表中数据少不影响,如果表中数据多,创建索引操作,就可能会非常耗时,并且带来大量的硬盘IO。原子性:事务的存在的意义,能够把多个SQL打包成一个整体,要么全部执行完,要么一个都不执行(如果执行过程中出错,则自动回滚)脏读:一个事务A在修改数据,提交之前,另一个事务B读取了数据,此时A极有可能在提交的时候提交的是不同数据(后续又修改了)事务指逻辑上的一组操作,组成这组操作的各个单元,要 不全部都执行完,要不就一个都不执行。允许读未提交的数据,并发程度最高,隔离性最低。

2024-02-05 16:21:57 377

原创 MySQL学习三、数据库约束

使用主键,需要给这个列设置一个唯一的值,我们自己进行分配值的工作,并且还要保证值不会重复,这样会比较麻烦,MySQL提供了一个机制,叫自增主键,来方便分配值。unique 值唯一,每次插入、修改数据,都会针对当前数据在表里进行查找,看这个值是否能查到,如果能查到,那么不是唯一的,就会导致插入或修改失败。(4)primary key:主键约束,确保某列(或多个列的结合)有唯一的标识,有助于更容易快速找到表中的一个特定的记录。customer(customerId,姓名,手机号,身份证号,accountId)

2024-02-05 14:57:57 1136

原创 MySQL学习二、表的增删改查

单行数据+全列插入:insert into 表名 values(...);多行数据+指定列插入:insert into 表名(指定列...) values (...), (...);

2024-02-05 14:52:10 432

原创 MySQL学习一、库和表的基础操作

(3) 可以这样创建数据库create database if not exists 数据库名;(1)创建表需要注意,同一个数据库中不能有同名的表,并且表名也不能是关键字(如果非要使用,加反引号` `)1. 创建表:create table 表名(列名 类型 , 列名 类型);(2)也可以加上注释(comment ‘注释’ 或者 -- '注释')(4)也可以指定数据库采用的字符集,指定数据库字符集的校验规则。1. 创建数据库:create database 数据库名;3, 选中数据库:use 数据库名;

2024-02-05 11:33:46 744

原创 二、Linux中权限、shell命令及运行原理

我们使用Linux时,并不是直接访问操作系统,为什么不是直接访问操作系统呢?如果用户直接访问操作系统,不仅使用难度大,而且不安全,容易把系统文件损坏。那么我们通常是如何访问操作系统的呢?我们一般是通过shell外壳程序来访问操作系统的。(图形化界面和指令操作都是操作系统提供的一种外壳程序)shell外壳的主要功能:1.将用户的命令进行解析,翻译给操作系统来处理2.将操作系统的处理结果通过内核进行解析、然后翻译给使用者。

2023-08-09 23:02:44 369

原创 Cpp9 — map和set

STL分为序列式容器(vector、list、deque)和关联式容器(map、set)序列式容器:数据与数据之间没有很强的联系。(各个数据之间没什么关联)。底层为线性序列的数据结构,里面存储的是元素本身。栈和队列是适配器。关联式容器:数据和数据之间有很强的关联关系(在数据检索时比序列式容器效率更高。底层是红黑树,再底层是一棵搜索树。

2023-08-03 23:05:28 782

原创 Cpp8 — 二叉搜索树

C++

2023-08-02 23:17:20 131

原创 Cpp7 — 继承和多态

面向对象的三大特性:封装、继承、多态封装:把数据和方法都封装在一起,想给你访问的变成共有,不想给访问的,写成私有。继承:继承是类设计层次的复用多态:继承方式:如果不写继承方式,class默认是私有继承,struct默认是公有继承(即继承的访问限定符)protected/private:在类外面不能访问,在类里面可以访问公有继承、保护继承、私有继承,总的来说就是取小的那个就对了私有成员的意义:不想被子类继承的成员可以设计成私有。但是不代表子类没有继承私有。

2023-08-01 23:30:54 548

原创 Cpp6 — 模板

模板:这里有一个概念:泛型编程---针对广泛的类型去写代码编程。之前都是针对具体的类型进行编程。模板分为函数模板和类模板。

2023-07-31 22:07:51 394

原创 Cpp05 — 内存管理

代码是以文件的形式存储在磁盘上的。不是说是代码就会加载到代码段,而是代码编译好的二进制指令代码会加载到代码段,然后程序中main函数执行时就是在代码段取指令来执行。栈和堆上的数据是运行时才建立的。常量区是有硬件保护的,只要去访问,就会报错。

2023-07-30 20:25:40 303

原创 Cpp04 — 默认成员函数

因为是个人复习,会有部分压缩和省略。

2023-07-29 23:48:29 317

原创 Cpp03 — 类和对象、this指针

C++

2023-07-28 23:35:42 455

原创 Cpp02 — 内联函数、auto关键字、范围for、nullptr

C++

2023-07-27 17:40:53 340

原创 Cpp 01 — namespace命名空间、C++的输入与输出、缺省参数、函数重载、引用、隐式类型转换

C++学习

2023-07-26 13:52:31 640

原创 数据结构总结8:B树

后续会有补充。

2023-05-18 15:18:22 115

原创 数据结构总结7:并查集、图

后续会有补充。

2023-05-18 15:17:02 476

原创 数据结构总结6:八大排序

后续会有补充。

2023-05-18 15:15:49 673

原创 数据结构总结5:堆

后续会有补充。

2023-05-18 15:13:31 563

原创 数据结构总结4:树、二叉树

后续会有补充。

2023-05-18 15:11:55 705

原创 数据结构总结3:栈和队列

后续会有补充和更改。

2023-05-18 15:09:38 508

原创 数据结构总结2:顺序表和链表

线性表是n个具有相同特性的数据元素的有限序列。线性表是一种在实际中广泛使用的数据结构,常见的线性表:顺序表、链表、栈、队列、字符串......线性表在逻辑上是线性结构,但是在物理结构上并不一定是连续的,线性表在物理上存储时,通常以数组和链式结构的形式存储。

2023-05-18 15:07:41 620

原创 数据结构总结1:了解数据结构、时间复杂度、空间复杂度

后续会有补充和更改。

2023-05-18 15:07:28 1448

原创 C++总结(二)

二叉搜索树又称二叉排序树,它要么是一棵空树,要么是具有以下性质的二叉树:1.若它的左子树不为空,则左子树上所有节点的值都小于根节点的值2.若它的右子树不为空,则右子树所有节点的值都大于根节点的值3.它的左右子树也分别为二叉搜索树搜索二叉树的查找:最多查找高度次,效率较高搜索二叉树具有排序+去重的功能叫它二叉排序树是因为中序遍历时,其遍历结果就是一个有序的结果。

2023-04-11 02:39:24 461

原创 Linux总结(二)

语言上会对系统提供的文件类的系统调用接口做一些封装,其是为了让接口可以更好的使用,如此导致了不同的语言有不同的语言级别的文件访问接口(每个语言基本都不一样),但是,都因为封装的是系统接口,所以原理是一样的,只是封装出来看起来是不一样的而已。它们两个之间,C库函数在上,系统调用在下,一个是语言提供的接口,一个是系统提供的接口,C库里的所有接口,底层一定会调用系统接口,因为它是必须要经过操作系统的。把所有的平台的代码,都实现一遍,用多态,写基类等等,分别提供不同系统的接口,再采用条件编译,动态裁剪。

2023-04-08 01:22:09 556

原创 数据结构05、堆

堆排序O(N*logN),堆排序本质是一种选择排序。虽然不能保证有序,但是堆能选出最大或最小的数,对于解决top-k问题很有帮助。如果每次都是用建堆选数据,整体时间复杂度为O(N*N),因为建堆哦,关系乱了,只能再舰队选数,不是不可以,只是效率太差,没有使用到堆的优势。堆是一个数据结构,实际是一棵完全二叉树,是使用数组存储的。1.堆中某个节点的值总是不大于或不小于其父节点的值。很多人觉得是建小堆,实际上建大堆好一点,堆真正的价值是选数,是效率很高。那么排升序是建大堆还是小堆呢?2.堆总是一棵完全二叉树。

2023-03-19 12:44:54 322

原创 Linux总结(一)

◆ 网络操作命令:ifconfig、ip、ping、netstat、telnet、ftp、route、rlogin、rcp、finger、mail、 nslookup;范例四:在 /tmp 底下,我只想要将 /tmp/etc.tar.gz 内的 etc/passwd 解开而已[root@linux ~]# cd /tmp。-a或–all 详细输出所有信息,依次为内核名称,主机名,内核版本号,内核版本,硬件名,处理器类型,硬件平台类型,操作系统名称。则解开的目录会在 /usr/local/src/etc 呢!

2022-11-14 01:25:55 1599

原创 Python05、字典、键值对、文件、标准库

字典字典。

2022-09-07 23:04:49 1093 1

原创 Python学习04、函数、变量的作用域、链式访问、嵌套调用、函数递归、参数默认值、关键字参数、列表和元组、切片操作、遍历

函数函数数学中的函数相当于一种映射关系,参数通过一系列数学变换来计算生成一个结果编程中的函数和数学中的函数是相似的,编程中的函数指的是一段可以被重复使用的代码函数的格式1.函数定义(分配任务)def关键字,注意之前提到的硬性规则和软性规则def 函数名(形参列表):函数体(这一部分要带有一级缩进,带有缩进的代码,才是函数内部的语句)

2022-09-07 21:07:28 370

原创 Python学习03、空语句,顺序,条件,循环语句、缩进和代码块、模块

可迭代对象是一个特殊的变量,内部包含了很多其他的值,例如吃辣条,把辣条打开,取出来吃第一根、吃第二根、吃第三根......直到吃完,这里的辣条就是可迭代对象。在C++/Java中,对于代码缩进是没有强制要求的,缩进具体怎么写都不影响代码的编译运行结果,但是如果缩进没有好好的统一风格来写,也是对于可读性比较影响。在Python中,缩进表示代码块,在if,else,elif,while,for......需要跟上代码块的部分,都是需要使用缩进来表示的。1.if后面的条件表达式,没有(),而是使用:作为结尾。

2022-09-07 20:40:10 737

原创 Python学习02、输入输出、控制台输出、格式化字符串的方式、运算符

除了上述的运算符外,还有一些运算符,比如:身份运算符,判断两个对象是不是相同身份(is, is not),成员运算符判断某个元素是不是被另外一个元素包含(in, not in),位运算符(&, |, ~, ^, )等。注意:Python中是不支持++,--这样的自增自减操作的,之所以++a不报错,是因为Python编译器把+当成了正号,--a也不会报错,是把减号当成了负号,最终的值仍然不变,但是后置++和后置--都是语法报错的。因为浮点数在内存中的存储和表示,是可能存在误差的。

2022-09-07 19:32:44 5264 1

原创 Python学习01、计算机基础概念、初识Python、常量,变量,类型和表达式、字符串、动态静态类型、注释

那么不应该是0.666667吗,怎么是0.666665呢,因为在编程中,没有四舍五入的规则,而是使用IEEE754标准,在这个标准下,所规定的浮点数(表示浮点数时),它在表示一些数据时,可能会出现一些非常小的误差。1.类型决定了数据在内存中占据多大空间(不同的类型,占用的内存空间是不同的,这里的空间指的是占几个字节。print(a1 + a2)形如这样的代码,就是字符串拼接,也就是把后面的字符串拼接到前一个字符串的末尾,,得到了一个更大的字符串,对于原来的a1和a2是没有影响的,是生成了一个新的字符串。

2022-09-07 19:13:36 325

原创 C语言12、文件操作

文件操作文件操作为什么使用文件?放在内存中的数据在程序退出后再次运行,又得输入数据,但是如果数据放在文件中,就可以持久化了。因为文件是存储到硬盘上的什么是文件?硬盘/磁盘上的文件就是文件。一般说的文件有两种:程序文件和数据文件(从文件功能角度分类)程序文件源文件程序(.c),目标文件(windows环境下后缀为.obj),可执行程序(windows环境后缀为.exe)数据文件文件的内容不一定是程序,而是程序运行时读写的数据,比如程序运行需要从中读取数据的文件,或者输出内容的文件。......

2022-08-14 19:27:54 625 1

原创 C语言10、自定义类型:结构体进阶,位段

结构体结构体结构体的声明特殊的声明在声明结构的时候,可以不完全声明比如://匿名结构体类型struct{a;b;c;}x;struct{a;b;c;}a[20],*p;上面的两个结构在声明的时候省略掉了结构体标签(tag)。那么问题来了?//在上面代码的基础上,下面的代码合法吗?p= &x;编译器会把上面的两个声明当成完全不同的两个类型。所以是非法的结构的自引用在结构体中包含一个类型为该结构本身的成员是否可以呢?...

2022-08-14 11:53:19 252

原创 C语言05、隐式类型转换、算术转换

表达式的整型运算要在CPU的相应运算器件内执行,CPU内整型运算器(ALU)的操作数的字节长度 一般就是int的字节长度,同时也是CPU的通用寄存器的长度。C语言在运算时会出现不同数据类型进行运算的情况,为了得到需要的数据,表达式中的字符和短整型操作数在使用之前会被转换成普通整型,这种转换称为整型提升。如果某个操作符的各个操作数属于不同的类型,那么除非其中一个操作数的转换为另一个操作数的类型,否则操作就无法进行。整型提升是按照变量的数据类型的符号位来提升的。所以整形提升的时候,高位补充符号位,即为。...

2022-08-12 20:04:50 123

原创 C语言11、动态内存管理、柔性数组

有时我们发现过去申请的空间太小了,有时我们又会觉得申请的空间太大了,那么,为了合理的内存管理,我们一定会对内存的大小做灵活的调整。但是对于空间的需求,不仅仅是上述的情况,有时候我们需要的空间大小在程序运行的时候才能知道,那数组在编译时开辟空间的方式就不能满足了,这时候只能试试动态内存开辟了。3.包含柔性数组成员的结构用malloc函数进行内存的动态分配,并且分配的内存应该大于结构的大小,以适应柔性数组的预期大小。1.如果参数ptr指向的空间不是动态内存开辟的,那free函数的行为是未定义的。...

2022-08-04 14:46:02 85

原创 C语言09、字符串函数和内存函数

1.将源字符串的前num个字符复制到目标,如果赋值前num个字符时源字符串已经结束,则在目标处用'\0'填充,知道共计num个为止(拷贝num个字符从源字符串到目标空间。目标中的终止空字符将被源的第一个字符覆盖,并在目标中的这两个字符串联形成的新字符串的末尾包含一个空字符。1.字符串已经'\0'作为结束标志,strlen函数返回的是在字符串中'\0'前面出现的字符个数(不包含'\0')2.一次比较第x个字节的大小,若ptr1>ptr2,则返回大于0的值,若等于,则返回0,若小于,则返回小于0的值。...

2022-08-04 12:07:47 144

空空如也

空空如也

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

TA关注的人

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