自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 服务器和客户端的套接字通信

服务器和客户端的套接字通信大家好,我是小学五年级在读的蒟蒻,专注于后端,一起见证蒟蒻的成长,您的评论与赞与关注是我的最大动力,如有错误还请不吝赐教,万分感谢。一起支持原创吧!纯手打有笔误还望谅解。TCP/IP的四层参考模型,从上到下分别是:应用层,传输层,网络层,网络接口层。应用层协议:HTTP,FTP,DNS等传输层协议:TCP,UDP网络互连层协议:IP,ARP,RARP,ICMP网络接口层协议:Ethernet,ISDN等在TCP/IP四层参考模型中,从上

2022-04-19 18:55:05 1634

原创 计算机操作系统(第四版) 汤小丹 第二章笔记

计算机操作系统(第四版) 汤小丹 第二章笔记大家好,我是小学五年级在读的蒟蒻,专注于后端,一起见证蒟蒻的成长,您的评论与赞与关注是我的最大动力,如有错误还请不吝赐教,万分感谢。一起支持原创吧!纯手打有笔误还望谅解。进程的描述与控制前趋图和程序执行程序的顺序执行及其特征程序的顺序执行一个程序由若干个程序段组成,而这些程序段的执行必须是顺序的,这种程序执行的方式就称为程序的顺序执行[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kpcj179n-1

2022-03-28 20:14:30 810

原创 计算机操作系统(第四版) 汤小丹第一章笔记

计算机操作系统(第四版) 汤小丹第一章笔记大家好,我是小学五年级在读的蒟蒻,专注于后端,一起见证蒟蒻的成长,您的评论与赞与关注是我的最大动力,如有错误还请不吝赐教,万分感谢。一起支持原创吧!纯手打有笔误还望谅解。操作系统引论操作系统的目标方便性有效性可扩充性开放性计算机操作系统的作用OS作为用户与计算机硬件系统之间的接口OS作为计算机系统资源的管理者OS实现了对计算机资源的抽象是合理组织计算机的工作流程有效控制和管理计算机系统的各类

2022-03-28 20:13:50 831

原创 Mybatis-配置文件完成增删改查

Mybatis-配置文件完成增删改查开发步骤在Mapper接口的配置文件中添加namespace<mapper namespace="...">编写接口方法Mapper接口方法public interface BrandMapper { /*查询所有*/ List<Brand selectAll(); /*id查询*/ Brand selectById(int id); /*条件查询*/ List<Brand&g

2022-01-24 18:54:06 773

原创 Mybatis-Mapper代理开发

Mybatis-Mapper代理开发Mapper开发的方式使用Mybatis开发Dao,通常有两种方法,即原始Dao开发方法和Mapper接口开发方法使用Dao开发所需要的SqlSessionFactoryBuilderSqlSessionFactory的实例可以通过SqlSessionFactoryBuilder获得,即用于创建SqlSessionFacoty,且创建完后就不再需要了SqlSessionFactory一个接口,可以从中获得SqlSession的实例,创建完

2022-01-24 18:53:35 218

原创 Mybatis的初步理解

Mybatis的初步理解大家好,我是小学五年级在读的蒟蒻,专注于后端,一起见证蒟蒻的成长,您的评论与赞与关注是我的最大动力,如有错误还请不吝赐教,万分感谢。一起支持原创吧!纯手打有笔误还望谅解。什么是MybatisMybatis是一种持久层框架,将jdbc对操作mysql数据的过程封装起来,使开发者只用关心sql语句而不用太过关心sql的驱动,连接等一些繁琐的代码Mybatis的配置Mybatis通过xml或注解的方式将要执行的各种statement配置起来,并通过java对象和

2022-01-21 13:17:18 793

原创 maven的初步理解

maven的初步理解maven是什么maven的本质是一个项目管理工具,将项目开发和管理过程抽象成一个项目对象模型(POM),只需要一些简单的配置,就可以批量完成项目的构建、报告和文档的生产工作maven的优点作为自动构建工具,可以帮我们自动化构建,还能抽象构建过程,提供构建任务的实现,再不同平台上提供一致的操作系统除了管理项目还可以管理第三方依赖包,可以直接告诉maven然后从中央仓库下载下来maven的安装maven是基于java开发的,所以安装maven必

2022-01-21 10:40:53 337

原创 c++STL-map容器

c++STL-map容器大家好,我是小学五年级在读的蒟蒻,专注于后端,一起见证蒟蒻的成长,您的评论与赞与关注是我的最大动力,如有错误还请不吝赐教,万分感谢。一起支持原创吧!纯手打有笔误还望谅解。今天在写leetcode时遇到两数之和返回下标的题,我以前写过这题当时的思路是使用两个循环遍历一次,然后今天在读一本算法书时又遇到了,然后他给出了两个解法,分别是hash和循环,并指出循环的时间复杂度是n2n^2n2,然后我决定用hash实现一下什么是mapmap是一种<key,value&gt

2022-01-16 13:47:16 274

原创 leetcode 349.两个数组的交集

leetcode 349.两个数组的交集大家好,我是小学五年级在读的蒟蒻,专注于后端,一起见证蒟蒻的成长,您的评论与赞与关注是我的最大动力,如有错误还请不吝赐教,万分感谢。一起支持原创吧!纯手打有笔误还望谅解。题目描述给定两个数组,编写一个函数来计算它们的交集。题解一思路:使用循环遍历两个数组,如果遇到相同的元素则存放到result容器中,最后返回result代码部分后期补题解二set基本知识思路:由于只需要遍历数组所以使用unordered容器不必排序提高效率,使用set容器将一个数

2022-01-14 14:18:24 228

原创 c++STL -set容器

c++STL -set容器初步理解大家好,我是小学五年级在读的蒟蒻,专注于后端,一起见证蒟蒻的成长,您的评论与赞与关注是我的最大动力,如有错误还请不吝赐教,万分感谢。一起支持原创吧!纯手打有笔误还望谅解。今天在写leetcode题时遇到查询两个字符串相交的部分,看了别人的题解发现用set容器可以很方便的完成这题,然而我并没有了解过容器这块,所以写下这篇博文记录一下什么是容器容器是用来存放数据的,其数据可以是用户自定义类型也可以是预定义的类型。这些容器都是已经封装好的了,在用户不知道存放的数

2022-01-14 14:12:16 430

原创 leetcode 142.环形链表Ⅱ

leetcode 142.环形链表Ⅱ大家好,我是小学五年级在读的蒟蒻,专注于后端,一起见证蒟蒻的成长,您的评论与赞与关注是我的最大动力,如有错误还请不吝赐教,万分感谢。一起支持原创吧!纯手打有笔误还望谅解。题目描述给定一个链表,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环,评测系统内部使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。如果 pos 是 -

2022-01-11 20:05:52 428

原创 leetcode 19.删除链表倒数的第N个节点

leetcode 19.删除链表倒数的第N个节点大家好,我是小学五年级在读的蒟蒻,专注于后端,一起见证蒟蒻的成长,您的评论与赞与关注是我的最大动力,如有错误还请不吝赐教,万分感谢。一起支持原创吧!纯手打有笔误还望谅解。题目描述给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。题解思路:使用一个指针遍历到链表尾部,再开一个指针据第一个指针n个节点远的地方开始遍历,直到第一个指针到达链表尾部,则后面的指针的位置就是需要删除的位置/* * @lc app=leetcode.cn

2022-01-10 21:15:30 380

原创 leetcode 206.反转链表

leetcode 206.反转链表大家好,我是小学五年级在读的蒟蒻,专注于后端,一起见证蒟蒻的成长,您的评论与赞与关注是我的最大动力,如有错误还请不吝赐教,万分感谢。一起支持原创吧!纯手打有笔误还望谅解。题目描述给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。题解一使用双指针和头插法求解思路:开辟一个新空间来使用头插法将原链表的数据不断插入新开辟的链表中/* * @lc app=leetcode.cn id=206 lang=cpp * * [206] 反转链表

2022-01-10 20:43:49 298

原创 leetcode 707.设计链表

leetcode 707.设计链表设计链表的实现。您可以选择使用单链表或双链表。单链表中的节点应该具有两个属性:val 和 next。val 是当前节点的值,next 是指向下一个节点的指针/引用。如果要使用双向链表,则还需要一个属性 prev 以指示链表中的上一个节点。假设链表中的所有节点都是 0-index 的。在链表类中实现这些功能:get(index):获取链表中第 index 个节点的值。如果索引无效,则返回-1

2022-01-09 20:51:31 93

原创 leetcode 203.移除链表元素

leetcode 203.移除链表元素给你一个链表的头节点 head 和一个整数 val ,请你删除链表中所有满足 Node.val == val 的节点,并返回 新的头节点题解遍历节点,如果当前节点的下一个节点的元素是要删除的元素则将当前节点的指针指向下个节点的指针指向/* * @lc app=leetcode.cn id=203 lang=cpp * * [203] 移除链表元素 */// @lc code=start/** * Definition for singly-lin

2022-01-09 12:29:54 239

原创 leetcode 59.螺旋矩阵Ⅱ

leetcode 59.螺旋矩阵Ⅱ给你一个正整数 n ,生成一个包含 1 到 n2 所有元素,且元素按顺时针顺序螺旋排列的 n x n 正方形矩阵 matrix 。输入 n=3输出 [[1,2,3],[8,9,4],[7,6,5]]题解主要是找出每次转向的条件,然后不停的转向(以整圈为单位)/* * @lc app=leetcode.cn id=59 lang=cpp * * [59] 螺

2022-01-08 15:15:48 323

原创 leetcode 209. 长度最小的子数组

leetcode 209. 长度最小的子数组给定一个含有 n 个正整数的数组和一个正整数 target 。找出该数组中满足其和 ≥ target 的长度最小的 连续子数组 [numsl, numsl+1, …, numsr-1, numsr] ,并返回其长度。如果不存在符合条件的子数组,返回 0 。题解一使用for循环暴力求解从数组第一个元素开始遍历数组,将每个元素的值相加,若遇到元素大于或等于给定值时则将相加的数组长度与原来已有的长度相比较按长度小的更新值,遍历完毕

2022-01-08 11:09:41 400

原创 leetcode 27.移除元素

leetcode 27.移除元素给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改输入数组。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。题解一使用暴力法循环遍历数组,如果遇到删除的那个元素则将后续元素提前覆盖class Solution {public:

2022-01-07 12:55:09 307

原创 leetcode 704·二分查找

leetcode 704·二分查找给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target  ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1。题解一假设这个数组是全闭数组则查找数据时要判断left==right的情况则left和right的取值要+1class Solution {public: int search

2022-01-07 12:33:33 339

原创 汇编语言——内存定位的方法

汇编语言——内存定位的方法内存的寻址 方式[idata],使用常量来表示地址,可直接用于定位一个内存单元[bx],一个变量来表示内存地址,可间接定位一个内存单元[bx+idata],用一个变量和常量来表示地址,可在一个起始地址的位置上用变量定位一个内存单元[bx+si],用两个变量表示地址[bx+si+idata],用两个变量和一个常量表示地址将datasg段中每个菜单的首字母改为大写assume cs:codesg,ds:datasgdatasg segmentdb '1. f

2021-12-15 12:03:00 456

原创 汇编语言——使用and和or进行字符串大小写转换

汇编语言——使用and和or进行字符串大小写转换在codesg中填写代码,将datasg中的第一个字符串转化为大写,第二个字符串转化为小写代码如下,请完善代码assume cs:codesg,ds:datasgdatasg segmentdb 'BaSic'db 'iNforMaTion'datasg endscodesg segmentstart:codesg endsend start分析题目,可得小写字母的ascii码值比大写字母的ascii码值大20H,如果将小

2021-12-14 20:09:48 693

原创 括号匹配问题

括号匹配问题将表达式入栈如果匹配到右半边则将栈顶的数据先出与之相匹对,相同则进行下一项 不同则输出数据不匹配//stack.cpp文件#include <stdlib.h>#include <iostream>using namespace std;typedef struct Stack{ char ch; struct Stack *next; /* data */} stack;stack *init_stack(){ st

2021-12-10 16:18:38 397

原创 汇编语言---关于自定义的段占用内存空间

汇编语言—关于自定义的段占用内存空间对于如下定义的段:name segment…name ends如果段中的数据占N个字节,则程序加载后,该段实际占用的空间为(N+15)/16原理:由于8086处理器有20根地址线,可以传送20位地址,达到1MB的寻址能力但是8086处理器里面只有16根,使用任何一个寄存器都无法达到1MB的寻址空间,所以8086处理器使用段寄存器和普通寄存器组合使用来寻址,对于cpu取址来说使用cs:ip来获取下一条指令的位置,对于堆栈处理使用ss:sp进行处理,

2021-12-06 15:21:59 434

原创 汇编 复制内存单元的内容

汇编 复制内存单元的内容思路:通过不断调整ds的值然后配合bx寄存器不断修改基址和偏移地址;将内存ffff:0~ffff:b的单元中数据复制到0:200~0:20b单元中assume cs:codecode segment mov bx,0 ;偏移地址 mov cx,12 ;0-b 一共12个地址re: mov ax,0ffffh mov ds,ax ;将内存ffff的基址给ds设置 mov dl,[bx] ;将ds:[bx]位置的数据交给dl寄存器

2021-12-05 21:11:12 739

原创 Leetcode06 Z 字形变换

将一个给定字符串s根据给定的行数numRows,以从上往下、从左到右进行z字形排列比如输入字符串位“PAYPALISHIRING”行数为3时,排列如下:P A H NA P L S I I GY I R之后,你的输出需要从左往右逐行读取,产生出一个新的字符串,比如:“PAHNAPLSIIGYIR”请你实现这个将字符串进行指定行数变换的函数:string convert(string s, int numRows);示例 1:​ 输入:s = “PAYPALISHIR

2021-11-25 21:13:18 73

原创 LeetCode455.分配饼干-贪心算法的初步理解

贪心算法什么是贪心算法?贪心算法又称贪婪算法。指求解最优化的问题常常会有一系列的步骤,而每个步骤往往会面临着选择。这个时候就要用到贪心算法,它在每一步都做出最优解,也就是说,它总是选择局部最优解,通过局部最优解来获得全局最优解例题分配饼干每个孩子都有一个满足度,每个饼干都有一个大小,只有饼干的大小大于一点满足度,该孩子才会获得满足,求解最多可以获得满足的孩子数量。思路:因为最小的孩子最容易得到满足,因此先满足最小孩子。给孩子的饼干应该尽量小而又能满足孩子,这样大饼干就可以拿给满

2021-11-19 20:13:43 430

原创 LeetCode3.无重复字符的最长子串

给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度。示例1:输入: s = “abcabcbb”输出: 3解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。示例2:输入: s = “bbbbb”输出: 1解释: 因为无重复字符的最长子串是 “b”,所以其长度为 1。示例3:输入: s = “pwwkew”输出: 3解释: 因为无重复字符的最长子串是 “wke”,所以其长度为 3。请注意,你的答案必须是 子串 的长度,“pwke” 是

2021-11-18 22:21:45 53

原创 LeetCode1.两数之和

给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。你可以按任意顺序返回答案。示例 1:输入:nums = [2,7,11,15], target = 9输出:[0,1]解释:因为 nums[0] + nums[1] == 9 ,返回 [0, 1] 。示例 2:输入:nums = [3,2,4], target = 6

2021-11-15 12:19:39 47

原创 关于ObjectInputStream java.io.StreamCorruptedException: invalid type code: AC 异常

问题描述:今天在用套接字编程时遇到java.io.StreamCorruptedException: invalid type code: AC起因是我在尝试获取这个Object第二次时,抛出这个异常分析产生原因:每次使用一个新ObjectOutputStream 去写入一个先前使用过的ObjectOutputStream写入的流。先前的流已经存在一个序列化对象,而再次写入一个头文件就会让现有的ObjectInputStream出现问题,所以会报错解决方法一、不要在同一个套接字上使用其他流或re

2021-11-13 12:15:21 535

原创 java网络编程详解

网络编程详解网络编程是指编写运行在多个设备的程序,这些程序都是通过网络连接起来基于java.net包中的API来完成底层的通信细节,可以直接使用这些封装好的类和接口来解决问题,而不用关注通信细节常用协议支持:TCP :(传输控制协议)TCP是一种面向连接的、可靠的、基于字节流的传输层通信协议,TCP是位于IP层之上,应用层之下的中间层。TCP是一种可靠的通信协议,保障两个应用程序之间的可靠通信。被称TCP/IPUDP:(用户数据报协议)UDP是无连接的协。缺点UDP缺乏可靠性且属于无连接协议.

2021-11-10 19:26:54 739

原创 用户注册功能-java控制台实现

用户注册功能-java实现实现思路暂定结构图暂定/** * @ClassName Register * @Description TODO * @Author 18752 * @Date 2021/11/6 19:47 * @Version 1.0 */public class Register { private String User_name; private String Password; private String Mail; p

2021-11-06 23:09:40 306

原创 线性表-元素逆置

问题:将长度为n的数组的前端k个元素逆序移动到数组后端思路同将长度为n的数组的前端k个元素保持原序移动到数组后端就是将前端的k个元素从头开始和原数组的最后下标进行交换代码如下:#include <stdio.h>void Move(int num[], int index, int length) { int temp; for (int i = 0, j = length - 1; i < index, j >= length - index; ++

2021-10-23 21:08:31 163 2

原创 线性表——逆置问题

问题:将长度为n的数组的前端k个元素保持原序移动到数组后端思路 :假设数组有01234566789十个数,则将需要移动的数组元素最后一个下标和数组下标的最后一个下标进行逆序交换如图所示:代码所示://问题:将长度为n的数组的前端k个元素保持原序移动到数组后端//思路: 123456数组 移动前四位元素 将需要移动的元素最后一个下标和数组最后的下标进行交换 依次类推#include <stdio.h>void Move(int num[], int index, int len

2021-10-23 20:05:22 223

原创 有个顺序表L,假设元素类型ElemType为整型,设计一个尽可能高效的算法,将所有奇数移动到偶数前面

题解:方法一:按照前后元素交换的思路,设置两个哨兵分别从前和后进行遍历,如果前面的哨兵遇到偶数 后面的哨兵遇到奇数就进行交换,直到两个哨兵相遇代码实现#include <stdio.h>#define MAX 10struct list { int num[MAX];};void swap(int *num1, int *num2) { //交换值 int temp = *num1; *num1 = *num2; *num2 = temp;}

2021-10-16 10:38:28 2335

原创 后缀表达式的C语言实现详解

后缀表达式什么是后缀表达式后缀表达式计算功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入什么是后缀表达式后缀表达式,又称逆波兰式,指的是不包含括号,运算符放在两个运算对象的后面,所有的计算按运算符出现的顺序,严格从左向右进行(

2021-10-13 13:28:03 4841 1

原创 单链表详解

顺序表-单链表什么是单链表链表,别名链式存储结构或单链表,用于存储逻辑关系为 “一对一” 的数据。与顺序表不同,链表不限制数据的物理存储状态,换句话说,使用链表存储的数据元素,其物理存储位置是随机的,用指针表示数据之间的逻辑关系的存储结构就是链式存储结构。链表中每个数据的存储都由以下两部分组成:数据元素本身,其所在的区域称为数据域;指向直接后继元素的指针,所在的区域称为指针域链表的示意图链表的每个节点具体实现,在C语言中使用结构体typedef struct Link{

2021-09-30 09:55:17 124

原创 《计算机网络》第六版 第三章数据链路层知识点总结

数据链路层数据链路层使用的信道:点对点信道:使用一对一的点对点通信方式广播信道:使用一对多的广播通信方式,过程比较复杂,需要专用的协议来协调点对点信道的数据链路链路(物理链路):从一个结点到相邻结点的一段物理线路,中间没有任何其他的交换节点在数据通信时,两台计算机间的通信路径往往要经过许多段这样的链路。可见链路只是一条路径的组成部分数据链路(逻辑链路):将实现这些通信协议的硬件和软件加到链路上就构成了数据链路。现在常用网络适配器(如:网卡)来实现这些协议网络适配器:既有硬件也包

2021-09-29 15:04:56 362

原创 《计算机网络》第六版 第二章物理层知识点总结

(本文为个人总结,方便以后查找复习)配套书籍 谢希仁《计算机网络》第六版第一章 绪论因特网三网 :电信网络 有线电视网络 计算机网络互联网的特点1. 连通性2. 共享计算机网络的组成计算机网络由若干结点和链路组成网络之间通过路由器互联起来又称互连网计算机网络的发展阶段从单个网络ARPANET向互连网发展的过程建成了三级结构的互联网逐渐形成多层次ISP结构的互连网internet 和 Internet的区别以小写字母i开始的互连网是一个通用名词,它泛指由多

2021-09-29 11:00:23 253

原创 《计算机网络》第六版 第一章知识点总结

第一章 绪论因特网三网 :电信网络 有线电视网络 计算机网络互联网的特点1. 连通性2. 共享计算机网络的组成计算机网络由若干结点和链路组成网络之间通过路由器互联起来又称互连网计算机网络的发展阶段从单个网络ARPANET向互连网发展的过程建成了三级结构的互联网逐渐形成多层次ISP结构的互连网internet 和 Internet的区别以小写字母i开始的互连网是一个通用名词,它泛指由多个计算机网络互连而成的计算机网络这些网络之间的通信协议可以任意选择,不一定

2021-09-29 11:00:04 590

原创 顺序表的增删查改

顺序表的常用操作顺序表插入元素首先判断顺序表的容量是否能够插入元素首部插入步骤:将顺序表的元素后移,将元素插入首部中间插入步骤:先遍历到需要插入的元素的位置,将后面所有元素向后移动,将元素插入需要插入的位置尾部插入步骤:直接取数组有效元素的下标,将元素放入元素修改数组的有效元素数量//插入函数,其中,num为插入的元素,add为插入到顺序表的位置table addTable(table t, int num, int add) { int i; //判断插入本

2021-09-28 21:00:10 70

空空如也

空空如也

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

TA关注的人

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