- 博客(62)
- 收藏
- 关注
原创 常见的请求头(Request Header)参数
HTTP请求头在客户端与服务器通信中扮演着重要角色,主要用于传递请求的元数据和客户端信息。Accept头用于指定客户端支持的响应格式,如JSON或XML;Content-Type则说明请求体的数据格式,如JSON或表单数据。User-Agent标识客户端设备信息,Authorization用于身份验证,如Bearer令牌。Cookie携带会话信息,Host指定目标服务器,Referer标识请求来源。Cache-Control控制缓存策略,Accept-Language指定语言偏好,Connection管理连
2025-05-18 22:07:48
665
原创 常见的 HTTP 接口(请求方法)
HTTP协议中常用的请求方法包括GET、POST、PUT、DELETE、HEAD和OPTIONS。GET用于从服务器获取资源,参数通过URL传递,属于幂等操作,常用于查询数据。POST用于向服务器提交数据,参数通过请求体传递,会修改服务器数据,常用于创建资源。PUT用于更新服务器上的资源,通过请求体传递完整数据,具有幂等性。DELETE用于删除服务器上的资源,通过URL指定要删除的资源,具有幂等性。HEAD用于获取资源的元数据,不返回资源内容,常用于检查资源状态。OPTIONS用于查询服务器支持的HTTP方
2025-05-18 22:04:50
612
原创 HTTP和HTTPS区别
超文本传输协议。一种应用层协议,用于在客户端(如浏览器)和服务器之间传输超文本数据(如HTML、图片)。明文传输,无加密。
2025-03-30 22:38:12
1616
原创 TCP/IP三次握手的过程,为什么要3次?
客户端发送一个带有SYN标志的TCP报文段给服务器,设置SYN=1,并携带初始序列号Seq=x(随机值),进入SYN_SENT状态。等待服务器相应。
2025-03-25 22:54:02
2022
2
原创 什么是快重传
在TCP连接中,接受方会对收到的数据包发送确认(ACK)。如果接受方收到一个乱序的数据包(即期望的下一个数据包尚未到达),它会重复发送对上一个已成功接受的数据包的确认。当发送方连续收到三个相同的重复ACK时,认为对应的数据包丢失,立即重传该数据包,而无需等待超时重传。
2025-03-25 19:58:25
213
原创 为什么vector扩容会导致迭代器失效
vector的元素存储在中,迭代器本质是指向元素地址的指针。扩容时,vector分配一块,更大的连续内存,将旧元素移动过去,然后释放旧内存。旧内存地址失效,源迭代器指向的地址不再有元素。
2025-03-24 20:38:24
211
原创 TCP和UDP的区别
TCP是面向连接的协议,传输时序先三次握手建立连接,确保双方都准备好通信。UDP是无连接的协议,发送数据前不需要建立连接,直接把数据发给对方,不管对面收不收到。
2025-03-16 22:52:25
304
原创 C语言可变参数/不定参函数
创建一个格式化的字符串,并将其存储在动态分配的内存中。其存储在一个指向字符数组的指针中。va_list那几句是套路,记住就好了。中间是处理,按具体情况来。vasprintf 它可以通过。
2025-03-15 14:10:36
505
原创 C++:异常(下)
这里许多公司都有自定义异常,都有自己的规范,因为乱抛异常不好维护。我从网上找了个例子大家看看。这样大家都是throw派生类,到时候捕获基类就行。// 自定义异常类,继承自std::exceptionprivate:// 异常信息public:// 构造函数,接收异常信息// 重写what()函数,返回异常信息try {// 抛出自定义异常throw MyException("自定义异常发生");// 捕获并处理自定义异常return 0;
2024-12-16 17:25:26
206
原创 C++:异常(上)
1.assert :大家肯定都用过,错了直接终止程序,这个挺暴力的。你想,比如你在软件中输入一个违禁词,直接把你软件崩了,那多不好。2.返回错误码:这个需要程序员自己去找错误。
2024-12-16 16:52:37
520
原创 C++11:auto decltype nullptr
在C++98中auto表明变量是局部自动存储类型,但是局部域中定义局部的变量默认就是自动存储类型,所以auto就没啥用了。c++11中auto用于实现自动类型推断,因此必须进行初始化。
2024-12-12 21:30:50
171
原创 数据结构:“小猫钓鱼游戏”
栈和队列的综合应用:“小猫钓鱼”的游戏规则是:将一副扑克牌平均分成两份,每人拿一份。玩家甲先拿出手中的第一张扑克牌放在桌上,然后玩家乙也拿出手中的第一张扑克牌,并放在玩家甲刚打出的扑克牌的上面,就像这样两个玩家交替出牌。出牌时,如果某人打出的牌与桌上某张牌的牌面相同,即可将两张相同的牌及其中间所夹的牌全部取走,并依次放到自己手中牌的末尾。当任意一个人手中的牌全部出完时,游戏结束,对手获胜。要求编写程序来模拟这场游戏,并判断出谁最后获胜,获胜的同时打印出获胜者手中的牌以及桌上可能剩余的牌。
2024-10-27 14:58:09
1403
原创 数据结构:利用队列的基本操作,模拟病人到医院排队看病过程。
病人到医院排队看病,在排队过程中,主要重复以下两件事情:1) 病人到达诊室,将病历本交给护士,在等待队列中候诊。2) 护士从等待队列中取出下一位病人的病历,该病人进入诊室就诊。要求编程模拟这个过程。
2024-10-27 14:50:40
413
原创 借助栈逆置单链表
编写算法Reverse(LinkList &L),要求借助于栈将一个带头结点的单链表L逆置。其中栈的初始化操作、入栈操作和出栈操作算法名分别为InitStack(&S)、Push(&S,e)、Pop(&S,&e)。注意:new你也可以用malloc。
2024-10-21 18:11:00
374
原创 双向栈的实现
假设以顺序存储结构实现一个双向栈,即在一维数组的存储空间中存在两个栈,它们的栈底分别设在数组的两个端点,栈顶指针分别指示栈顶元素的下一存储单元。试编写实现这个双向栈tws的入栈操作Push(&tws, i ,e)和出栈操作的算法Pop(&tws,i,e),其中i为1或2,用以分别指示设在数组两端的两个栈。//分别指示两个栈的栈顶元素的下一存储单元。//分别指示两个栈的栈底元素。这个结构我不太喜欢,不如用int去替代栈顶指针,反正是作业,大家理解理解。
2024-10-21 18:05:43
389
原创 PTA:2 设计一个People类
设计一个People 类,该类的数据成员有姓名、年龄、身高、体重和人数,其中人数为静态数据成员,成员函数有构造函数、显示和显示人数。其中构造函数由参数姓名、年龄、身高和体重来构造对象;显示函数用于显示人的姓名、年龄、身高和体重;显示人数函数为静态成员函数,用于显示总的人数。
2024-10-09 23:20:25
366
原创 PTA:3 手机类JAVA
构造手机类,包含其配置信息:型号(字符串)、内存大小(整数)、存储空间(整数,GB为单位)、价格(整数)。提供带参数的构造函数,重写其equals方法,使得两个相同配置(型号、内存、存储相同即可,价格可不同)的手机为相等的手机。重写其toString函数,打印手机的配置信息,形式为CellPhone [model:xxx, memory:xxx, storage:xxx, price:xxx]main函数中从键盘读入两个手机对象,比较他们是否相等,输出他们的配置信息。
2024-10-09 23:18:36
681
原创 PTA:6-2 定义游客类JAVA
定义游客类(其测试类已给出),要求如下:一个景区根据游人的年龄收取不同价格的门票。请编写游客类,根据年龄段决定能够购买的门票价格并输出。
2024-10-07 23:30:48
427
原创 PTA:6-3 圆柱体计算JAVA
1.构造一个Circle类:1)该类有一个double型成员变量radius存放半径;2)该类有一个有参构造方法,为成员变量radius赋值;3)该类具有getArea和getLength两个方法,能够利用半径和Math.PI计算高精度的面积和周长。2.构造一个Column类:1)该类有一个Circle型成员变量bottom为圆柱体的底面;2)该类有一个double型成员变量height存放圆柱体的高;
2024-10-07 23:27:42
1549
原创 牛客JZ36:二叉搜索树与双向链表
输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。如下图所示数据范围:输入二叉树的节点数 0≤n≤10000≤n≤1000,二叉树中每个节点的值 0≤val≤10000≤val≤1000要求:空间复杂度O(1)O(1)(即在原树上操作),时间复杂度 O(n)O(n)注意:1.要求不能创建任何新的结点,只能调整树中结点指针的指向。当转化完成以后,树中节点的左指针需要指向前驱,树中节点的右指针需要指向后继2.返回链表中的第一个节点的指针。
2024-09-29 19:04:08
240
原创 LeetCode236题:二叉树的最近公共祖先
中最近公共祖先的定义为:“对于有根树 T 的两个节点 p、q,最近公共祖先表示为一个节点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。因为根据定义最近公共祖先节点可以为节点本身。的最近公共祖先是节点。的最近公共祖先是节点。
2024-09-29 15:22:57
431
原创 C++学习:模拟priority_queue
开始模拟前咱先了解一下仿函数。有了它,我们就可以自己传个代码让优先级队列升序还是降序,自己模拟时也不用在需要升序降序时改代码。这是个很有用的东西。不写模版也可以,但模版能用在更多地方嘛这里没用class,因为反正都要用的就直接用默认public的struct了。定义时可以看成重载小括号,千万别漏了嗷。接下来用直接像函数一样用就行了,我们来模拟。
2024-09-26 19:10:26
177
原创 7-9 判断一个点是否在园内java
在Main类中编写方法,提示用户输入一个点(x,y),然后检查这个点是否在以原点(0,0)为圆心、半径为r的圆内。方法在圆内,则返回true,否则返回false。
2024-09-26 12:51:11
468
1
原创 7-6 矩阵转置运算 java
矩阵的转置是矩阵的一种运算,设A为m×n阶矩阵(即m行n列),第i 行j 列的元素是a(i,j),把m×n矩阵A的行换成同序数的列得到一个n×m矩阵,此矩阵叫做A的转置矩阵。在数学中,矩阵(Matrix)是一个按照长方阵列排列的复数或实数集合,最早来自于方程组的系数及常数所构成的方阵。
2024-09-25 14:45:25
669
原创 7-7 java定义完数方法 一个数如果恰好等于它的因子(除自身外)之和,这个数就称为“完数“。比如6=1+2+3,因此6是完数。在Main类里面定义一个方法 方法名为isPerfect
一个数如果恰好等于它的因子(除自身外)之和,这个数就称为"完数"。在Main类里面定义一个方法 方法名为isPerfect 返回类型为boolean,该方法要求接收用户输入的一个整数,并判断该整数是否是完数,将判断结果返回,在main函数中 通过键盘输入这个整数,然后调用isPerfect判断这个整数判断是否是完数,如果是输出n:Yes,否则输出n:No ,n是这个具体的数,其中在main方法中调用方法的格式为 : boolean result = isPerfect(n);
2024-09-25 14:44:15
235
原创 C语言:编程计算π的近似值。要求:采用公式p2/6 = 1/12 + 1/22 + 1/32 + … 实现,直到最后一项小于10-12。(定义double类型的变量)
【代码】C语言:编程计算π的近似值。要求:采用公式p2/6 = 1/12 + 1/22 + 1/32 + … 实现,直到最后一项小于10-12。(定义double类型的变量)
2024-09-24 22:09:16
191
原创 C++学习:stack queue模拟
stack和queue可以复用其他容器的函数如deque vector一:stack模拟namespace bit{ template<class T, class Container = deque<T>> class stack { public: void push(const T& x) { _con.push_back(x); } void pop() { _con.pop_back(); } con
2024-09-23 19:48:41
503
原创 C++学习:string的模拟实现
string大家肯定都会用,那么我们来简单实现下string,并非完全重现string,意思到了就好。这次就不用声明定义分离了。实现直接放头文件里了,也方便大家看。
2024-09-07 13:47:20
324
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人