- 博客(25)
- 收藏
- 关注
原创 javascript使用
拓展运算符是ES6引入的语法,用于展开可迭代对象(如数组、字符串、对象等)的元素或属性。JavaScript 对象是键值对的集合,用于存储和操作数据。对象可以包含属性和方法,属性是对象的特征,方法是对象的行为。JavaScript 数组用于存储多个值,可以通过索引访问和操作元素。相比传统函数,箭头函数在语法上更简洁,且不绑定自己的。第三个参数 数组:调用 filter 方法的原数组本身(可选)箭头函数是ES6引入的一种简化函数语法的方式,使用。局部作用域:在函数或块内声明,仅在其内部可访问。
2025-10-04 19:58:56
1009
原创 HTTP协议详解
HTTP()超(超链接)文本传输协议用于从万维网服务器传输超文本到本地浏览器的传送协议HTTP协议是基于TCP的应用协议,他不关心数据传输的细节,最初是用来向客户端传输html页面的内容,默认端口是80HTTP是基于请求与响应模式的、无状态的、应用层的协议。
2025-07-12 16:23:10
1199
原创 手写简易shell
结尾的字符数组(即 C 风格字符串)的指针。xshell中使用env命令可以查看当前进程的环境变量。类的一个成员函数,用于返回一个指向以空字符(,表示返回的字符串是只读的,不允许修改其内容。
2025-05-31 00:13:47
744
原创 linux使用makefile
make解释makefile的时候是会自动推导的,一直推导过程,不执行依赖方法,直到推导到有依赖文件存在,然后在逆向的执行所有的依赖方法。要做成一件事情必须要有依赖关系+依赖方法,makefile本质就是依赖关系和依赖方法的集合。makefile在执行gcc命令的时候,如果发生了语法错误,就会终止推导过程。过于繁琐,因此可以借助make命令。依赖方法可以是echo命令。要执行的文件(列表)实现多个代码进行编译。
2025-05-27 17:19:39
414
原创 论坛系统测试报告
本次论坛系统测试旨在全面验证系统功能的完整性、稳定性及用户体验,确保系统能够满足用户在信息交流、内容发布等方面的需求。测试范围涵盖了前台用户操作功能以及后台管理功能,采用了多种测试方法,包括功能测试、性能测试、兼容性测试等。
2025-03-05 23:17:50
782
原创 博客系统测试报告
支持的浏览器包括IE(7, 8, 9, 10, 11),Mozilla Firefox,Safari,Google Chrome,Opera,Edge等。博客系统通常具备用户注册、登录、文章发布、编辑、管理、评论互动等功能,同时还提供了丰富的模板和插件,让用户可以根据自己的喜好和需求来定制博客的外观和功能。登录界面的登陆框、用户名、密码、提交等内容与我们编写的思维导图基本一致,符合预期效果,并且提交按钮用绿色框格包围使得用户能更加轻松登录博客。的字样弹窗,而输入错误用户名或错误密码则分别显示。
2025-03-03 22:29:25
1133
原创 动态规划(01背包问题)
物品编号从1开始,引入物品0是为了防止i-1越界,而dp[0][j]可以表示挑选0个物品体积不超过(0,1,2,3,4)的最大价值,没有物品可选因此价值为0。但是能选i物品的前提条件是:在前i-1个物品选完后所剩余的空间要大于等于第i个物品所需要的空间,因此我们要引入新变量记录选到i物品后背包所剩余的空间。(2)选i物品总价值(等于第i-1个物品的状态加i物品的价值):dp[i-1]+w[i](2)选i物品且体积不超过j的总价值:dp[i-1][j-v[i]]+w[i]区别未装满情况只需更改一些细节问题。
2025-02-07 19:11:15
733
1
原创 lambda用法及其原理
3.静态变量过多可以采用[=]隐式传值捕捉或[&]隐式传应用捕捉。4. 也可以混合捕捉(a,b是传引用捕捉,其余是传值捕捉)
2025-01-06 21:35:01
508
原创 堆的深度剖析及使用
(各各节点从上至下,从左至右依次紧密排列),因此我们可以创建一个结构体的指针指向二叉树的根节点,用数组来存储二叉树的节点。根据自己的选择可以先将数组a指向空,不开空间,后续插入数据时扩容,如果数据个数确定也可以先开部分空间后续不必扩容操作。插入数据后可能不满足小堆,而插入一般是尾插因此要向上调整堆。如果插入的数据大于父亲或者调整至根(没有父亲)则停止调整。堆的物理储存方式其实是一个数组,而逻辑储存方式其实是一个。释放数组a的内存,将a的数据及空间清零以免内存泄漏。一般删除堆顶元素,也就是数组中最小的元素。
2024-12-19 23:43:17
573
1
原创 二分查找万能公式
二分查找是一种在有序数组中查找指定元素的算法。它通过将待查找的元素与数组的中间元素进行比较,从而确定待查找元素可能存在于数组的哪一部分。然后,将搜索范围细分为左半部分或右半部分,并重复这个过程,直到找到目标元素或确定目标元素不存在。public:if(nums.empty())//判断数组是否为空while(left<right)//先查找区间左端点right=mid;begin=left;=target)//判断是否存在目标值。
2024-10-26 16:52:22
811
原创 滑动窗口详解
滑动窗口是一种基于数组或字符串的算法技术,用于解决一些涉及连续子数组或子字符串的问题。滑动窗口的基本思想是通过维护一个窗口,该窗口在数组或字符串上滑动,从而找到满足特定条件的子数组或子字符串。
2024-10-22 22:53:28
2125
1
原创 初始化列表
自定义类的初始化成员变量主要依靠函数体内赋值,构造函数初始化还有⼀种⽅式,就是初始化列表,初始化列表的使⽤⽅式是以⼀个冒号开始,接着是⼀个以逗号分隔的数据成员列表,每个"成员变量"后⾯跟⼀个放在括号中的初始值或表达式。每个成员变量在初始化列表中只能出现⼀次,语法理解上初始化列表可以认为是每个成员变量定义初始化的地⽅。引⽤成员变量,const成员变量,没有默认构造的类类型变量,必须放在初始化列表位置进⾏初始化,否则会编译报错。
2024-10-01 23:29:49
529
原创 顺序表注意事项
顺序表(Sequential List)是一种线性表的存储结构。线性表是指具有相同数据类型的 n 个数据元素的有限序列。顺序表是将线性表中的元素按照其逻辑次序依次存储在一块连续的存储空间中,相邻元素之间的物理地址也是连续的。例如:百度,抖音等存储用户数据都采用了顺序表结构。
2024-09-08 16:36:24
568
原创 类的大小计算
类是一种蓝图或模板,用于创建具有相似属性和行为的对象。它定义了对象的属性(即数据)和方法(即函数),并将它们打包在一个单独的实体中。通过实例化一个类,我们可以创建对象并使用其属性和方法。类提供了一种结构化的方式来组织和管理代码,使其更易于理解和维护。内存对齐(MemoryAlignment)是指在计算机中,数据在内存中的存储位置,必须与其数据类型的大小相一致。在计算机中,每个数据类型都有一个字节数(bytesize),例如,整数类型的字节数可以是1、2、4或8个字节,浮点数类型的字节数可以是4或8个字节。
2024-07-21 14:33:19
1187
原创 快慢指针与带环链表
快慢指针是一种常用的指针技巧,常用于解决链表相关问题。快指针(fast pointer)和慢指针(slow pointer)同时从起点出发,但步长不同。快指针每次移动两个节点,慢指针每次移动一个节点。通过不同的移动速度,可以实现对链表的不同遍历方式。快慢指针常见的应用场景有三种:判断链表是否有环:快指针每次移动两个节点,慢指针每次移动一个节点。如果链表没有环,快指针最终会到达链表的末尾,而慢指针会到达中间位置。如果链表有环,快指针和慢指针最终会相遇。
2024-07-14 11:23:28
786
2
原创 C++关于引用的理解
在C++编程语言中,引用是一种特殊的数据类型,用于给变量或对象起一个别名。(例如“鸡”的别名是”坤“)引用的定义使用符号,将其放在变量或对象的类型前面。例如,以下代码定义了一个整数变量a和一个整数引用bint a = 5;int& b = a;在这个例子中,b是对a的引用,也可以将b视为a的别名。因此,对b的任何操作实际上都是在操作a。
2024-07-11 22:02:52
690
原创 C++入门语法
定义命名空间,需要使⽤到namespace关键字,后⾯跟命名空间的名字,然后接⼀对{}即可,{}中即为命名空间的成员。命名空间中可以定义变量/函数/类型等。namespace本质是定义出⼀个域,这个域跟全局域各⾃独⽴,不同的域可以定义同名变量。C++中域有函数局部域,全局域,命名空间域,类域;域影响的是编译时语法查找⼀个变量/函数/类型出处(声明或定义)的逻辑,所有有了域隔离,名字冲突就解决了。局部域和全局域除了会影响编译查找逻辑,还会影响变量的声明周期,命名空间域和类域不影响变量声明周期。
2024-07-10 22:19:48
1088
原创 从本质认识#define
基本语法使用举个例子int main()int a=MAX;在编译器预处理阶段会自动将main函数中所有的出现的MAX替换成100基本语法使用举个例子int main()这个宏接收一个参数x.如果在上述声明之后,将sum(x)置于函数,预处理器会用下门这个表达式替换上面的表达式:5+5;
2024-04-16 00:26:46
731
原创 用‘^‘找出你身边的单身狗
我们可以将数组内所有元素异或得到(5^6=3)根据异或的性质我们可以得知当3的二进制位为1时说明5和6的二进制位不相等,因此我们可以利用这个性质将5和6分开,随便取3中二进制位为1的数的位数作为特征点记作k,如果数组元素第k位等于1地话就和5归类为一组,否则和6归类为一组。数组中有:1 2 3 4 5 1 2 3 4 6,只有5,6出现了一次,其他数字都出现两次,找出单身狗5,6.相比于单身狗1.0,两个单身狗暗箱操作,若直接异或,得出的结果是(5^6)=3,因此无法将单身狗5和6找出。
2024-03-11 10:00:00
1087
原创 不创建变量交换值内容
为了进入更好的公司,各位编程大佬可谓废寝忘食,每天都在与冰冷的电脑打交道,为此公司也不得不筛选出更好的人才,因此一个个变态的面试题应运而生。
2024-02-20 22:36:08
246
原创 C语言各种常用函数
在写C语言代码的时候,有时一些简单的逻辑代码可能需要长篇大论,而这无论是对程序员,还是用户都带来了极大的不便,随着网络的发展,C语言定义了一系列的函数来便于程序员的编程,也让用户感受到了便利。
2024-02-13 14:24:41
906
原创 二叉树保姆教学
二叉树是(n>=0)个节点的有限集合,它或为空树(n=0),或由一个根节点和两颗互不相交的左子树和右子树的二叉数组成。是树形结构的一个重要类型。许多实际问题抽象出来的数据结构往往是二叉树形式,即使是一般的树也能简单地转换为二叉树,而且二叉树的存储结构及其算法都较为简单,因此二叉树显得特别重要。二叉树特点是每个节点最多只能有两棵子树,且有左右之分。
2024-02-02 19:49:36
369
原创 吃透冒泡排序,选择排序,插入排序
插入排序在实现上,通常采用in-place排序(即只需用到O(1)的额外空间的排序),因而在从后向前扫描过程中,需要反复把已排序元素逐步向后挪位,为最新元素提供插入空间。(1 6 5 7 8 4 7)先是一号位的1和二号位的6比较,然后二号位的6和三号位5比较,交换位置,然后三号位就变成了6再和四号位的7比较依次类推。冒泡排序字面意思泡泡从水里冒出来,由小到大,而它的排序方式类似于选择排序,也是前面的数字和后面的数字比较大小,然后交换位置,而冒泡排序是两个相邻的数字比较大小。
2024-01-31 22:38:36
330
2
原创 彻底理解双目操作符’&’,’|’,’^’
为了让小白们更加轻松融入C语言的学习当中,我也是熬夜加班将这三个令我抓狂的双目操作符总结出来。相信大部分人对于取地址符’&’并不陌生,用来获取变量a的内存地址。为了便于在后续代码中使用变量的地址来进行间接访问。’&&’是逻辑运算符,表示逻辑与;相当于生活中说的“并且”,就是两个条件都成立的情况下“逻辑与”的运算结果才为“真”。重点来了,看到这个是不是很懵逼,
2024-01-30 23:41:03
1180
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅