自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 C++重点(1)

## 面向对象核心思想:通常是继承,多态,封装优点:可重用性:通过封装和继承等机制,提高了代码的重用性。可维护性:面向对象编程将代码组织成模块化的结构,使得代码更易于理解、修改和调试。扩展性:通过继承和多态等特性,使得代码的扩展更加容易和灵活。抽象和模块化:面向对象编程允许将复杂系统抽象成一组相互协作的对象,提供了更好的抽象和模块化能力。### 面向过程:特点:1.程序以过程或函数为单位进行实现​ 2.强调顺序性和线性执行一系列函数。

2025-03-17 20:56:28 876

原创 C语言数据存储和编译链接

1.强转类型法:将int强转成char类型,即仅取int的低字节给char。有符号整型最高位用于表示正负,1表示负数,0表示正数。编译:将C语言代码转换为汇编代码,词法,语法,语义分析。在char类进行计算时,暂时提升为int类进行计算。大端就是高字节存在低地址处,低字节存在高地址处。截断:大字节的转给小字节的,按照小字节截断。小段是高字节存高地址,低字节存低地址。四个阶段:预处理,编译,汇编,链接。预处理:头文件展开,去注释,宏替换。无符号整数的原反补都是一样的。如果是无符号数:高位全补0。

2025-03-16 18:12:49 257

原创 memcpy,memmove,strstr的模拟实现

memcpy与strcpy不同,memcpy可用于任意类型的复制,而strcpy只能用于string类型的复制。

2025-03-15 20:35:47 141

原创 C语言中关于数组和指针的重点知识

只要名字最后是数组,那其本质就是数组,最后是指针,那本质就是指针。

2025-03-15 18:03:02 318

原创 C++模版进阶

一个程序(项目)由若干个源文件共同实现,而每个源文件单独编译生成目标文件,最后将所有 目标文件链接起来形成单一的可执行文件的过程称为分离编译模式。优点:模版复用了代码,节约了资源增强了代码的灵活性。缺点:模版导致编译时间变长。当模版编译报错时,错误信息非常乱,不易定位。

2024-11-27 21:45:10 420 9

原创 题目解析:二叉树层序遍历详解

如果不按照层次输出,而是全部输出的话,那就只需要一个队列,将根节点输入,然后再输出根节点,输入根节点的左右节点。然后再输出队列的第一个元素,再输入第一个元素的左右子树。但是这里需要按层输出,那么我们可以定义一个levelsize,记录每一层里面有多少个数,然后循环递减,每次递减的时候都将数输入到v里面,直到levelsize = 0.这道题需要我们按层输出二叉树里面的各个数据,将其输出的一个二维数组里面。每次levelsize为0的时候,就将其写入vv里面。而且第一层的个数明显是1。

2024-11-22 14:46:52 342

原创 对于C++中stack和queue的认识以及priority_queue的模拟实现

stack 是栈,先入后出,只能从栈尾进行插入,栈尾进行输出。queue是队列,元素先入先出,从队尾插入,队头出。stack和queue的接口都类似,区别仅仅是stack的栈顶元素用top,而queue的队头元素用front。

2024-11-22 14:34:27 510 6

原创 僵尸进程的处理

前面讲过,当父进程结束后,如果子进程再运行一段时间后才结束。此时便没有父进程将其回收,那么该进程就会变成僵尸进程。僵尸进程会造成内存泄漏等问题。那么该如何将僵尸进程回收呢?那么就要用到waitpid和wait两个函数。我们先讲解wait,再讲解waitpid。

2024-11-14 15:55:25 577

原创 fork函数详解

之前我们提到,创建子进程的时候,需要使用fork()函数,其中分别有id ==0和id >0的if函数,但是实验表明,两个if函数中的内容都得到了实现。按照我们之前所学,一个变量同一时间只能有一个值,那到底是怎么满足两个if都实现的呢?

2024-11-13 14:49:21 605 10

原创 linux进程概念

进程是linux中非常重要的概念,执行的每一个程序都是进程。因此我们需要了解进程。

2024-11-11 15:41:54 1393 11

原创 题解:电话号码的字母组合

题目给出了string 数字字符串,我们需要将字符串转换为对应的字母,因此可以开辟一个数组,分别存放2-9的数字对应的字母,即我们需要知道,全排列所有的字母是迭代的过程。因此我们可以通过一个level来表示这是第几个数字,也可以表示这是第几层递归。当level为0的时候,即为第一个字母,获取到digits[0]的值后-‘0’,因为字符0和数字0有区别,所以要转换。再通过另一个string存储对应的字母字符串即然后便是依次读取str_1中的字母进行全排列组合。每读取一个便进行一次递归,传的参数进行调整。

2024-10-30 21:00:23 442 1

原创 makefile和make

在写项目时,避免每次都输入gcc/g++,我们可以实现自动化编译来提高软件开发效率。make 是一条命令,makefile是一个文件。

2024-10-19 20:37:22 457 14

原创 Linux权限理解及环境基础开发工具使用

Linux中有两种用户,一种是root用户,另一种是普通用户,二者的权限不一样,即能做的事情不一样。下面我们来细讲一下这些不同。root用户能在Linux系统下做任何事情,而普通用户只能做有限的事情。root用户的命令提示符是“#”,而普通用户的命令提示符是“¥”。

2024-10-16 20:44:27 1036 13

原创 Linux基础指令

在学习Linux之前,需要先了解其基础指令,本篇文章仔细讲解Linux的基础指令。

2024-10-12 16:56:59 1012 14

原创 C++中的string类

C语言中字符串是以‘\0’结尾的字符的集合,为了方便操作,C标准库中提供了一些str系列的库函数,接下来我们学习string类。

2024-09-28 17:57:52 1228 1

原创 初步认识C++模版

一篇文章教会你模板入门。

2024-09-21 21:09:24 934 14

原创 C++内存管理

一篇文章教会你C++内存管理

2024-09-19 21:20:55 1205 14

原创 类和对象(中)

C++类和对象四个默认成员函数详解

2024-09-10 13:41:01 991 12

原创 贪吃蛇项目实现(C语言)——附源码

手把手带你实现贪吃蛇

2024-09-09 20:18:23 1551 8

原创 类和对象(上)

C++中类的定义和C语言中结构体很像,但是是在结构体上面进行了升级,即可以在类中定义函数。并且将结构体进行了升级,即也可以用struct 进行类的定义。class为定义类的关键字,Stack为类的名字,{}中为类的主体,注意类定义结束时后⾯分号不能省 略。类体中内容称为类的成员:类中的变量称为类的属性或成员变量;类中的函数称为类的方法或 者成员函数。为了区分成员变量,通常在成员变量的前面加一个特殊标识,如_等。定义在类里面的成员函数默认为inline函数。

2024-08-07 16:16:55 1040 4

原创 自定义类型:联合和枚举

int a;跟结构体一样,需要有分号。

2024-08-06 19:33:11 485

原创 C语言编译和链接

带你了解编译过程以及宏定义。

2024-08-05 22:59:16 1218 16

原创 c语言排序(2)

排序中的快排和归并排序以及计数排序

2024-08-03 15:04:55 877 4

原创 C++入门基础

命名空间的关键词是namespace,后面跟命名空间的名字,然后接一对{},{}中即为命名空间的成员,可以包含变量,函数等。int a= 0;int a = 1;在调用的时候通过::实现调用。namespace的本质是定义一个域,这个域独立于全局域,不同的域可以定义同名变量。在全局域定义了一个a,然后在namespace里面定义了一个同名的a。C++中的域有局部域,全局域,命名空间域和类域。

2024-08-02 18:00:25 1566 12

原创 c语言排序(1)

插入排序,选择排序,以及冒泡排序的实现和讲解。

2024-07-30 18:00:55 1192 6

原创 一篇文章教你学会二叉树的链表实现及其oj题(附源码)

学会二叉树链式结构和oj题这一篇就够了

2024-07-29 22:59:57 1087 4

原创 一篇文章教会你二叉树和堆

通过本文章学会顺序二叉树以及topk问题

2024-07-24 18:28:45 1180 3

原创 栈和队列的相互转换以及循环队列的实现

学会了队列和栈,我们可以再了解一下如何将数据结构进行相互转换。

2024-07-22 13:13:38 1073 5

原创 一篇文章教会你栈和队列

依旧是将结构体和数据类型重命名便于使用。跟顺序表一样,有一个容量,有一个有效数量,还有一个指向数组的指针。队列的底层一般是单链表。为了更好的在链表中实现队的操作,队列的结构体需要一个头结点和一个尾结点,以及一个记录有效个数的size。而头结点和尾结点则是结点结构体,包含一个结构体指针和一个数值。

2024-07-19 23:18:00 1071 5

原创 一篇文章教你学会双向链表

双向链表全称是双向带头循环链表。带头指的是有一个哨兵位结点,该结点不存储有效的数据,作哨兵作用。双向链表的结构如下:双向链表每个结点有两个指针,一个next指针指向后面的结点,一个prev指针指向前面结点。哨兵位的prev指针指向尾结点,尾结点的next指针指向哨兵位。我们还是将链表和数据进行重命名,为了后面更好的使用。结构体里面需要有两个结构体指针,以及结点存储的数据。

2024-07-19 22:08:12 451 5

原创 链表算法题讲解

学会了链表,就需要在算法题上面进行实践。

2024-07-16 09:59:13 738 5

原创 教你学会数据机构中的顺序表和单链表

链表和顺序表的理解以及用C语言如何实现

2024-07-15 21:36:36 883 2

原创 C语言:结构体详解

结构体是值的集合,可以包含不同类型的值,也可以是相同类型的值。结构体的值称为结构体的成员变量。

2024-07-11 21:20:47 825 4

原创 关于整型和浮点型数据在内存中的存储

整型和浮点型数据在内存中的存储

2024-07-08 21:43:46 379 3

原创 深入理解指针2

指向字符的指针称为字符指针。基本的定义格式如上图。需要注意,字符指针只能指向字符,而不是字符串。如果想要指向字符串,即将字符串存入到数组里面,那就是我们下面要介绍的数组指针了。

2024-06-05 22:29:02 1645

原创 深入理解指针(1)

指针的基本概念介绍以及指针的相关知识

2024-06-03 18:03:42 1866

原创 冒泡排序c语言指针实现

它重复地遍历要排序的列表,比较相邻的两个元素,并且交换它们的位置,直到整个列表按照从小到大(或从大到小)的顺序排列。冒泡排序的名字来自于在排序过程中较大(或较小)的元素会逐渐“浮”到列表的顶端。

2024-05-20 22:20:30 533

原创 C语言循环语句

本文提到的三种循环在之后的c语言学习中非常重要,不可以忽视。学了不一定代表懂了,但上手练了一定代表认真了。加油,共勉!

2024-05-13 22:38:09 3506

原创 c语言函数与数组的运用——扫雷游戏

基于数组和函数的简单扫雷游戏实现

2024-05-07 16:17:41 1863

空空如也

空空如也

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

TA关注的人

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