自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 力扣--随心一记

每日一题的笔记

2024-07-27 21:28:59 268

原创 socket---TCP

客户端:在客户这一端的进程,是主动发送请求的一端。客户端必须提前知道服务端的地址与端口才能给服务端发送请求。服务端:提供服务的一端进程,是被动接收请求从而进行处理的一端。提示:以下是本篇文章正文内容,下面案例可供参考由于服务端是被动接收的一端,客户端是主动发起通信的一端,所以在通信的时候需要先运行服务端,之后才能运行客户端程序。这是由于不运行服务端的话客户端找不到服务器是发送不了请求的。

2024-10-31 06:30:00 838 1

原创 HTTP的初步了解

HTTP协议是超文本传输协议HTTP的短连接:建立连接——数据传输——关闭连接HTTP的长连接:建立连接——数据传输——(保持连接)——数据传输——关闭连接。如果长时间没有新的请求,连接才会关闭提示:以下是本篇文章正文内容,下面案例可供参考。

2024-10-30 17:11:04 1019

原创 socket编程---UDP

socket编程又称套接字编程,指进行网络通信程序的编写。

2024-10-29 15:25:36 1357

原创 线程安全-同步与互斥/死锁

临界资源—同时只能被一个线程/进程进行安全访问的资源,如共享内存、文件、硬件设备、全局变量等提示:以下是本篇文章正文内容,下面案例可供参考。

2024-10-26 21:31:44 1018

原创 Linux下线程的创建、终止、分离与等待

我们知道并发是轮询进行的,而线程就是实现并发处理的。下面的代码都是同一个代码,除去第一次出现的代码是完整的,下面出现一部分是说明这一部分改了一下,没有出现的说明该代码没有被修改提示:以下是本篇文章正文内容,下面案例可供参考。

2024-10-25 16:50:54 795

原创 了解Linux下的信号

信号是Linux下的一种事件通信机制,也叫做事件中断提示Linux信号是一种中断处理手段,可以打断一个进程的正常执行流。使其处理特定的事件

2024-10-23 16:56:09 896

原创 进程的那些事--进程间的通信(重点说明管道和共享内存)

进程是一个能够独立运行,独立分配资源,独立调度的基本单位,每个进程都有自己独立的虚拟地址空间。当两个进程要想通信,必须使用特定的通信机制来实现进程间的通信。

2024-10-11 21:16:57 901

原创 计算机网络基础--认识协议

计算机网络涉及非常广泛,这篇文章主要对计算机网络有个认识。包含:IP地址与端口,网络体系结构框架,网络字节序

2024-09-29 19:14:50 1060

原创 进程的那些事--实现shell(main的三个参数)

目标:实现一个shell 实现思想: 1:捕捉用户的输入 2:对用户输入进行解析 3:创建子进程 3.1:对子进程进行替换,替换为对应的指令 3.2:替换失败子进程退出 4:父进程等待子进程退出--避免僵尸进程

2024-09-28 19:25:16 639

原创 进程的那些事--进程控制

创建一个进程pcb,pcb中有一个指针指向虚拟地址空间(内存指针),指向的所以地址都会同页表映射到物理内存中,而代码中的g_val通过映射在物理内存中存储数据,当我们创建子进程,它就会复制子进程,它就会复制父进程(复制了所有的地址,映射关系,页表,若子进程修改g_val的数据,那么他会生成一个新的数据放到物理内存中,若不修改继续使用父进程的数据)。创建一个子进程后,等待子进程的退出,获取子进程的退出状态,避免僵尸进程的产生。返回值:返回值大于0代表退出成功,表示的是退出子进程的pid,出错返回-1。

2024-09-26 13:12:27 785

原创 进程的那些事——了解进程(虚拟地址空间)

程序和进程之间的区别: 进程:对用户而言,进程是运行中的程序,但实际是进程是对程序动态运行的描述。当程序被加载到内存中并由操作系统执行就变成了进程。进程有独立的内存空间。它的生命周期到进程结束或操作系统终止。 程序:是一系列静态的,有序执行的指令集合。用于指定计算机来完成特定的任务。通常储存在硬盘中。它的生命周期直到数据被删除或覆盖。

2024-09-05 11:35:47 896

原创 关于进程的那些事——认识进程(包含环境变量的一些描述)

僵尸进程和孤儿进程的区别:僵尸进程子进程先于父进程退出。孤儿进程父进程先于子进程退出 为什么要配置环境变量:方便程序执行,直接通过配置的环境变量来搜索可执行程序。设置特定的环境变量可以设置程序的参数。创建子进程之后会将父进程的环境变量自动传给子进程

2024-09-03 11:13:37 821

原创 Linux--gdb的常用命令

对于程序有两个版本,一个是debug版和release版,要想进行调试必须使用debug版本,再Linux上进行调试就要用到调试器gdb。

2024-08-24 21:43:26 519

原创 简单笔记--Qt控件的重要属性--QWidget

Qt中有一些特定的函数命名前缀,用于指示函数的功能,如get*()用于获取属性,set*()用于设置属性,is*()用于布尔类型的属性检查等。

2024-08-18 20:07:02 335

原创 排序篇——递归实现快速排序(hoare版-挖坑法-前后指针版)

快速排序是Hoare于1962年提出的一种二叉树结构的交换排序方法。它会选出一个基准值(key),把它放到正确的位置(排序之后的位置)。

2024-08-16 16:23:09 1138 3

原创 Linux自动构建工具——make/makefile

在Linux中make是一条指令,makefile是文件。make的核心功能就是读取一个或者多个名为makefile的文件,这些文件构成整个项目。是否会makefile,是一个人是否有能够完成大型工程项目能力的侧面体现。

2024-08-14 18:32:01 833

原创 Linux下 vim的用法

本篇文章会介绍vim的基本用法和为什么我们要学习vim。

2024-08-13 21:34:23 1257

原创 算法篇--狠狠拷打KMP算法(手把手教你next数组)

综上所述得出一个结论:已知next[i] = k,如果p[i] == p[k],那么next[i+1] = k+1,如果p[i] != p[k],回退k,使其满足p[i] == p[k],得出next[i+1] = k+1。

2024-08-11 21:56:02 922

原创 排序篇--插入排序及希尔排序

希尔排序的基本思想是将待排序的数组元素按下标的一定增量分组,对每组使用直接插入排序算法排序;随着增量逐渐减少,每组包含的元素越来越多,当增量减至1时,整个文件恰被分成一组,算法便终止。对于不同规模的数据,希尔排序都能保持较好的性能。此外在希尔排序中gap的次数没有确定的答案。

2024-08-10 17:32:03 532 1

原创 二叉树(前序/中序/后序遍历)

什么是二叉树遍历:按照某种特定的规则,依此对二叉树的节点进行相应的操作,并且每个节点只操作一次。提示:以下是本篇文章正文内容,下面案例可供参考。

2024-08-08 13:38:17 492

原创 基于QT实现贪吃蛇游戏(纯代码版)附源代码

主要利用定时器将各个定义的对象关联起来,以蛇向上为例子,定时器每隔2秒自动更新,判断是否和食物相交,是在进入下一个循环的时候,多循环一个就可以了,进入while循环通过枚举,来进入向上移动的函数,向上移动函数的作用是,在当前位置的头上增加一个矩形,退出循环后删除最后一个矩形,通过定时器没个2秒自动调用上述情况就形成了移动。用cnt是表示蛇的食物,也就是矩形,如果蛇头和矩形相交cnt++实现两次循环增加一个节点,当循环完毕,由于cnt是在定时器的槽函数里面定义的,所以当走下一格的时候,会重定义。

2024-08-07 15:06:17 935

原创 C++ 拷打继承不成反被拷打

基类和派生类在不同的作用域可以有同名的成员,同名的函数,在这种情况下,派生类同名成员将屏蔽父类对同名成员的直接访问,这叫做重定义也可以叫隐藏。(要想访问基类同名的成员函数,可以使用 基类::基类成员 进行显示访问)带着问题走:什么是菱形继承?菱形继承的坑是什么?什么是菱形虚拟继承?菱形虚拟继承在底层是怎么体现的。

2024-07-22 22:26:24 920

原创 初识 String 类(认识迭代器)

本篇简单介绍一些常用的string成员函数,初步认识迭代器

2024-07-18 17:36:38 200

原创 浅谈C++类与对象(6个默认函数)

探讨类的六个默认成员函数,这是C++中类的基础,需要对C语言有一定的基础。 构造函数是一个特殊的成员函数,它的名字与类名相同,在创建对象时被调用,并且整个对象周期只调用一次

2024-07-13 21:51:11 807

原创 数据结构--二叉树的初步认识及堆的实现(降龙十八掌篇)

降龙十八掌是赫赫有名的掌法,被誉为“天下掌法无双”。初学简单,门槛不高,但越向后学习越难。这里学习降龙十八掌的第一式,是最基础的招式,也是十分重要的招式。亢龙有悔(二叉树的概念和结构)。

2024-07-09 18:22:02 1117

原创 数据结构——栈和队列(铁砂掌内功)

栈和队列本身在数据结构中作用不是很大,但是它常常在更为复杂的数据结构中作为分支使用。所以懂得栈和队列是很重要的,它是在为后面更为复杂的数据结构打基础的。

2024-07-06 07:00:00 550

原创 数据结构——双链表(八卦掌)下部(附源码)

链表的样式多种多样。有很多种,而带头双向链表结构最复杂。当你学过高数再去看初中数学是不是相当简单。当我们学习了复杂的链表结构,并且进行了实现,当遇见其他的链表直接就可以实现了。并且有了单链表作为基础很快便能学会。

2024-06-28 11:45:51 936

原创 数据结构——单链表(八卦掌)上部(附源码)

无头单向非循环链表 void是因为我们是链表不需要进行返回类型。并且由于是链表,我们需要修改指针pp所以我们要用**pp二级指针进行接收。这是由于形参是实参的一份临时拷贝。如果传入的是*pp对函数外的指针不会做任何改变

2024-06-20 17:39:05 998

原创 学会铁砂掌,手撕顺序表(内含源码)

练会铁砂掌,手撕顺序表知识点:需要基本上对于C语言有一点的了解顺序表分为静态顺序表和动态顺序表,重点说明动态顺序表。截止到现在我们的铁砂掌算是成功练成了。这是一个成功,迈入数据结构大门的第一步,还没进行。需要我们举行努力。总结就是,顺序表是以一个结构体来创建一个类似数组的空间,只不过这个空间可以变大。铁砂掌是基础,为了日后降伏数据结构这条龙,学会终极掌法,降龙十八掌打下的基础。

2024-06-01 21:03:56 879

原创 探讨冒泡和qsort及冒泡模拟实现qsort(含源码,讲解详细)

本篇文章对于冒泡排序和qsort都有详细的讲解。

2024-05-18 12:37:47 593

原创 C语言 初学者也能实现扫雷游戏

本次用到的知识点有(对C语言能有个最基本的认识,对于VS的基本使用有认识,分支与循环 ,数组,一些关键字的使用,对于这些关键字也会进行说明的。

2024-05-11 13:50:25 978 1

原创 C语言猜数字游戏

用分支循环实现猜数字游戏。稍微涉及一点点函数

2024-05-03 23:49:24 489 1

原创 C语言 实现随机数的生成

C语言中有个 srand 函数,他是用来初始化随机数的生成器,也就是在打印之后实现对"种子“的初始化,当“种子”随机的时候便可以达到让 rand 生成随机数。C语言提供了一个rand函数,这个函数是可以随机生成的,但生成范围在 0-RAND_MAX 之间,这个大小是依赖编译器实现的,但大多数编译器到32767,rand 函数使用的头文件是:stdlib.h 如果我们对它进行生成打印到屏幕,我们会发现第一次运行是随机数,但两次运行的结果是一样的。所以我们可不可以尝试用这个函数来实现x的值的变换呢。

2024-04-29 22:22:24 452

原创 输入一个正整数,逆序打印整数的每一位(用 while循环实现)

输入一个正整数,逆序打印整数的每一位(用 while循环实现)如 1234 打印为 4 3 2 1

2024-04-26 21:48:41 542 1

原创 0-100含9的数字有多少个 什么情况下使用 if 语句不能有 else

因为是含有九的个数所以我们在 if 判断后给前面定义的变量加一,如果是个位上的是 9 就对 j 加1,这时候我们就要对 90 91 92 93 94 95 96 97 98 99 这些情况进行判断.由此我们可以得出一个结论,当有一个事物它可以同时满足两种,两种以上的情况时,如何要用到 if 语句便不适合用 if else 语句,对多个 if 语句进行嵌套 可能会比较好一些。If循环最经典的是if-------else 语句,但是在有的场景中不适合带else来进行判断。写代码先写一个主函数。

2024-04-23 09:20:16 339

空空如也

空空如也

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

TA关注的人

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