自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 常见的几个“双指针”试题

显然,从前往后进行复写不对。仔细看你会发现一个规律,S = 宽*高,此时当1再依次和剩余的数进行组合时,得到的结果都小于8,因为此时1已经是最小的了,当它和其他数进行匹配的时候,高不变,为1,而宽是在不断减小的,因此s自然也在减小,此时最开始得到的8也就是1和其他数进行组合时的最大值,并且此时它和其他数进行组合时得到的s都在减小,那么这些情况我们都可以不用再进行枚举,因为我们只要最大的一组。在cur遍历期间,使[0,dest]的元素全部为非零元素,[dest + 1,cur - 1]的元素全部为0元素。

2024-04-19 16:10:27 669

原创 C/C++内存管理

int main()// new/delete 和 malloc/free最大区别是 new/delete对于【自定义类型】除了开空间//还会调用构造函数和析构函数free(p1);delete p2;// 内置类型是几乎是一样的// Cfree(p3);delete p4;free(p5);return 0;

2024-04-12 20:51:03 1924

原创 【C++】类和对象---下篇

初始化列表、static成员、友元、内部类、匿名对象虽然上述构造函数调用后,对象中已经有了一个初始值,但是不能将其称为对对象成员变量的初始化,构造函数体中的语句只能将其称为赋初值,而不能称其为初始化。因为初始化只能初始化一次,而构造函数体却可以多次赋值。因此函数体赋值只能称之为赋初值,不能称之为初始化。

2023-12-03 20:35:17 821

原创 【C++】类和对象---中篇

通过前面的学习,相信大家对C++已经有了一个初步的认识,今天我们就来讲讲类中非常重要的六大默认成员函数,分开别是构造函数,拷贝构造函数,析构函数,赋值运算符重载,普通对象取地址重载以及const对象取地址重载,我们废话不多说,马上进入学习!

2023-12-02 19:51:06 920

原创 【C++】类和对象---上篇

前面博主讲解了初试C++,相信大家也对C++有了一个初步的认识,在初始C++中其实大多数介绍都是为了填补C语言留下的坑,而今天要讲解的类和对象更是C++的一个重中之重,因为这就是C语言和C++的区别所在。C语言是面向过程编程,而C++是面向对象编程。那这到底是什么意思呢?// 类体:由成员函数和成员变量组成// 一定要注意后面的分号class为定义类的关键字,ClassName为类的名字,{}中为类的主体,注意类定义结束时后面分号不能省略。

2023-10-29 22:21:40 199

原创 【C++】初识C++(下篇)---超详解

在早期C/C++中auto的含义是:使用auto修饰的变量,是具有自动存储器的局部变量,但遗憾的auto不再是一个存储类型指示符,而是作为一个新的类型指示符来指示编译器,auto声明的变量必须由编译器在编译时期推导而得。return 10;auto b = a;return 0;typeid(变量名).name()可以获取变量类型使用auto定义变量时必须对其进行初始化,在编译阶段编译器需要根据初始化表达式来推导auto的实际类型。

2023-10-29 11:29:28 77

原创 【C++】初识C++(上篇)

在之前的博客中,博主讲解了C语言,并且前面讲解的数据结构也是用C语言实现的,看过博主前面的博客的小伙伴肯定会发现用C语言来实现种种数据结构时,往往需要很长的代码,但是实现相同的数据结构,C语言可能要200行代码,而C++可能只需要80行,在实际的编程中,C++的运用也远高于C语言。那么,今天我们就来看看C++到底是什么?二.🚀初识C++🚀C语言是结构化和模块化的语言,适合处理较小规模的程序。对于复杂的问题,规模较大的程序,需要高度的抽象和建模时,C语言则不合适。

2023-10-21 23:16:40 63

原创 【数据结构】队列---超详解

/定义类型//链表队列//队列特点:先进先出,队尾入数据,队头出数据}QNode;int size;}Queue;链表的结点由数据域和指针域爱两个部分构成,这就意味着我们需要对多类数据进行操作,因此定义一个结构体,正好可以满足这一需求。队列在队尾入数据,队头出数据,因此我们单独定义一个头和尾,外加一个记录队列大小的size来定义队列,以便后续实现队列的各种功能。用类型重定义关键字typedef。

2023-10-17 18:01:52 511

原创 【数据结构】栈---超详解

/数组栈//定义类型int top;}Stack;栈由顺序表实现,因此需要一个数组,而栈有容量大小以及需要获取栈顶数据,所以需要同时管理多种不同类型数据,进而用一个结构体进行管理刚刚好。typedef将数据类型int以及结构体进行了重定义,以便于后续书写及修改。

2023-10-15 22:50:37 67

原创 【数据结构】单链表---超详解

今天我们要讲解的一个数据结构是链表。单链表其实是链表这种数据结构中的一种,本章讲解的链表是不带头单向非循环链表。正如你所见,链表分为带头和不带头,双向和单向,循环和不循环,因此彼此之间就能够组合出八种链表。但是在这八种链表中考得最多的是单链表(不带头单向不循环链表)和双链表(带头双向循环链表),或者换句话说,单链表在OJ题上考的比较多,而双链表在实际应用中比较多,因此单链表和双链表是总舵链表中比较重要的两个。)今天我们对单链表进行讲解。

2023-10-14 23:53:48 84

原创 【数据结构】双链表---超详解

链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的;简单来说,线性表的链式存储结构生成的表,称作“链表”。(线性表顾名思义就是像线一样连接起来的表,需要注意的是这里所说的表是一种数据结构,而不是平时我们所说的表格),例如单链表是不是就像一条线一样把他们连接起来,至于什么叫做链式的存储结构详细看下面的介绍,这就是一个链表,且是链表中的单链表。//定义类型}LTNode;

2023-10-14 17:45:20 560

原创 【数据结构】顺序表---超详解

之前博主讲解了通讯录的各种版本,这也预示着C语言模块的讲解到此就要告一段落了。接下来我们进入下一个阶段的学习---数据结构。很多小伙伴可能对数据结构不是很了解,或者说经常听别人说起,但是就是不明白数据结构到底是什么东西,是一个什么样的存在,今天我们就来讲解一下什么是数据结构,以及非常简单的一种数据结构---顺序表。所有能输入到计算机中并能被程序识别和处理的符号集合。包括:整数、实数等。图形、图象、声音、文字等。数据结构是计算机存储、组织数据的方式,指相互之间存在一种或多种特定关系的数据元素的集合。

2023-09-26 16:14:26 95

原创 【C语言】通讯录(文件版)---超详解

在前面一篇博客中,我们讲解了关于C语言中文件操作的使用和一些注意事项,那么这和我们今天要讲解的第三个版本的通讯录有什么关系呢?接下来就让我们一起来探讨一下其中的奥妙吧!//定义一个联系人的信息int age;}PeoInfo;联系人信息包括,姓名,年龄。性别,电话,地址。

2023-09-02 22:20:15 881 9

原创 【C语言】文件操作---超详解

计算机中的文件是指存储在外部介质(硬盘)上的数据集合。但是在程序设计中,我们一般谈到的文件有两种:程序文件和数据文件而本章中的文件都是以数据文件为对象程序文件包括源程序文件(后缀为.c),目标文件(windows环境后缀为.obj),可执行程序(windows环境后缀为.exe)数据文件文件的内容不一定是程序,而是程序运行时读写的数据,比如程序运行需要从中读取数据的文件,或者输出内容的文件。在以前代码所处理数据的输入输出都是以终端为对象的,即从终端的键盘输入数据,运行结果显示到显示器上。

2023-09-01 22:09:28 85 1

原创 【C语言】通讯录(动态版)---超详解

前面我们讲解了通讯录的静态版实现,但是你是否发现静态版通讯录有个很致命的缺点就是太占内存,静态版通讯录是通过定义一个结构体数组来存放1000个联系人的方式来实现的,也就是说无论你要存多少个联系人,无论你有多少个联系人,程序都需要开辟1000个结构体大小的空间。那么这个问题能不能解决呢?靠什么来解决呢?今天我们就来讲解一下通讯录的Plus版本----动态版通讯录

2023-08-30 23:01:18 541

原创 动态内存管理---超详解

动态内存管理是学习C语言中的几个重要内容之一,动态内存管理对于后期学习数据结构至关重要。顾名思义,动态内存管理就是指能够对内存大小进行增加,减小的的动态管理,而不像之前我们学习的那些空间开辟,只能固定开辟一定的大空间大小,动态内存可以随时根据自己的需求而对其内存大小进行更改。

2023-08-30 16:11:56 316 2

原创 【C语言】通讯录(静态版)---保姆级实现过程

通讯录作为我们生活中必不可少的一个工具,相信大家都不陌生。那么,这个通讯是如何实现的呢?它的底层逻辑又是什么呢?今天我们就来探讨一下通讯录的实现,手把手教你如何用C语言写一个通讯录程序。//定义一个联系人的信息int age;}PeoInfo;联系人信息包括,姓名,年龄。性别,电话,地址。结构体类型为typedef将结构体类型重定义为了PeoInfo(这里可千万不能把PeoInfo里面有详细介绍结构体。

2023-08-29 23:23:08 463 1

原创 【C语言】内存函数的使用及其模拟与实现

我们知道字符串函数只能对字符串进行操作,而我们在实际编写程序时经常需要处理除了字符串之外的其他数据,那么有没有一种函数可以不限制使用对象,并且都能使用这个函数实现相应的功能呢?内存函数正好符合这一要求。

2023-08-26 23:00:40 160

原创 【C语言】结构体———超详解

在初识C语言中,我们已经学习了int(整形),long(长整形),long long(长长整形),char(字符型),float(单精度浮点型),double(双精度浮点型)等数据类型,但是有这些数据类型就足够了吗?我们知道描述一个整形数字可以用整形,描述一个小数可以用浮点型,描述一个字符可以用字符型,但是如果让你描述一个人呢?一本书呢?又或是一件物品呢?例如描述一个学生,我们可以通过名字,年龄,性别,学号来做描述。这个时候就需要用到我们今天要探讨的结构体了!

2023-08-25 20:44:57 278 1

原创 【C语言】各字符串函数的模拟与实现---超详解

在上一篇博客中博主详细的讲解了各字符串函数的使用,包括参数,返回值类型,应用场景等,但是有的场景或是题目中要求我们不能使用某一个特定的库函数,或是直接要求我们模拟实现这个库函数。这个时候仅仅学会这些函数的使用就不够用了。今天我们就来讲讲各字符串函数以及内存函数的模式实现。

2023-08-22 21:53:45 58 1

原创 【C语言】各字符串函数的使用----超详解

C语言中对字符和字符串的处理很是频繁,但是C语言本身是没有字符串类型的,字符串通常放在常量字符串或是字符数组中,字符串常量适用于那些不对它做修改的字符串函数。例如常常用来求字符串长度的strlen函数,用于复制字符串的strcpy函数,用于比较字符串的strcmp函数,以及strcat,strtok,strstr等等。接下来就让我们来看看这些函数是怎么使用的,以及如何模拟实现这些函数。

2023-08-20 00:28:53 172 1

原创 【C语言】扫雷——保姆级实现过程

扫雷游戏可以说是一款非常经典的游戏,初中上计算机课基本上都要玩一把哈哈,相信各位小伙伴都玩过扫雷吧,没有玩过的小伙伴一定要去玩一下,这样有助于理解游戏的实现过程。扫雷网页版链接放在这里,没玩过的小伙伴一定要先去玩一下,了解一下扫雷规则。游戏#2513455566 - Minesweeper Online。

2023-08-11 23:29:01 73 1

原创 原码,反码,补码———详解

计算机中的有符号数有三种表示方法,即原码,反码,补码。三种表示方法均有符号位和数值位两部分,符号位都是用数字二进制中最高位0表示正,用数字二进制中最高位1表示负,而数值位有三种表示方法,各不相同。

2023-08-06 00:01:23 6449 8

原创 三子棋游戏———超详解

上一篇博客,我们讲述了猜数字游戏的实现过程,很多小伙伴可能觉得猜数字游戏太过于简单,今天我们就来小小的升级一下难度,共同探讨一下三子琪这款经典游戏的实现。三子棋是一种民间传统游戏,又叫九宫棋、圈圈叉叉棋、一条龙、井字棋等。游戏分为双方对战,双方依次在9宫格棋盘上摆放棋子,率先将自己的三个棋子走成一条线就视为胜利,而对方就算输了,但是三子棋在很多时候会出现和棋的局面。

2023-08-02 23:44:22 230 2

原创 猜数字游戏——超详解

在学习C语言中我们学习了各种的语句,循环语句,分支语句,顺序语句,各个语句又存在各种类型,那么我们怎么去运用这些语句去实现功能,如何跳出“hello world ”的舒适圈呢?今天我们就用我们学习的这些简单语句来实现一个游戏,赚一波满满的成就感吧!猜数字游戏是学习C语言中一个有趣的小游戏,也是博主学习C语言时用C语言写的第一个小游戏。猜数字,顾名思义就是去想一个数字然后与电脑生成的一个随机数作比较,直到猜对为止。

2023-07-30 00:07:40 1219 2

原创 汉诺塔及青蛙跳台阶的问题

汉诺塔问题来源:汉诺塔(又称河内塔)问题是源于印度一个古老传说的益智玩具。大梵天创造世界的时候做了三根金刚石柱子,在一根柱子上从下往上按照大小顺序摞着64片黄金圆盘。大梵天命令婆罗门把圆盘从下面开始按大小顺序重新摆放在另一根柱子上。并且规定,在小圆盘上不能放大圆盘,在三根柱子之间一次只能移动一个圆盘。

2023-07-25 23:52:22 56

原创 素数求解的N种境界

素数即质数,指一个大于1的自然数,除了1和它本身外,不能被其他自然数(质数)整除。通俗来说就是这个数除了1和它自身外再也没有其他因数。例如2,3,5,7等都是素数,它们除了1和本身外再无其他因子。2是最小的质数。1既不是质数也不是合数。合数是与质数相对的数,合数是指除了1和它本身外还有其他因数的数。例如2,4,6,8等皆是合数。素数的求解方法有很多,有句俗话叫做活到老学到老,如何让你的代码让人感觉眼前一亮,学习更多的求解方法肯定是重中之重。它会让你的代码看起来更鲜活,更生动,最重要的是能让你又前进一步。

2023-07-23 00:14:55 3041

原创 二分查找or折中查找法

二分查找又称折半查找,二分搜索,折半搜索等,是一种在静态查找表中查找特定元素的算法。所谓静态查找表,即只能对表内的元素做查找和读取操作,不允许插入和删除元素。

2023-07-21 21:59:37 301 1

原创 C语言中最“花心“的man——变量

相信各位未来编程行业的预备大佬们在看了上一篇文章后,对常量已经有了初步的认识。我们在编写程序时遇到最多的除了各种常量之外还有就是各式各样的变量,那么这个变量又是什么呢?为什么会存在变量呢?变量又该如何使用呢?接下来咱们就来讲讲变量。C语言中的变量是指在程序运行期间其值可以发生改变的量,用于从外部接收数据、保存一些不断变化的值、保存中间结果及最终结果。1)变量的定义的格式:数据类型 变量名,变量名,....;2)定义变量的时候通常要对其赋初值0,赋初值这一步骤叫做变量的初始化。3)变量必须先声明后使用。

2023-07-20 23:19:33 51

原创 C语言中最“专一”的man——常量

C语言中常量是指,在程序的执行过程中,这个量不会发生变化,是一个固定的数据。定义:能够被直接写出的量就叫做字面常量。例如1,2,3,3.14,“abcdef”等,值得一提的是“abcdef”也是字面常量。字面常量包括整形常量,字符型常量,字符串常量。上面提到的“abcdef”就是字符串常量。(注意:不存在数组常量,结构体常量等结构型的字面常量)2,3,4//整形常量'c','b','g'//字符型常量"abcdef"//字符串常量。

2023-07-18 23:31:01 140 1

原创 初识C语言

C语言是一门计算机语言。计算机语言就是人与计算机交流的语言。就如同汉语,英语是人与人之间交流的语言一样人与计算机之间的交流语言同样有多种,例如汇编语言,B语言,C语言,C++,java,Python(后四种现如今比较流行,但是记住C生万物)等编程语言皆是计算机语言。数据类型是对系统中实体的一种抽象,它描述了某种实体的基本特性,不同类型数据的表示、所占存储空间的大小以及定义在其上的操作是不同的。

2023-07-16 11:43:00 80 1

原创 闰年判断,最大公因数求解,交换两数内容,素数判断

闰年判断条件:能够被4整除但是不能够被100整除或者能够被400整除的年份。一个合数除了1和它本身外还存在其他因子,而且这些因子中必定至少有一个小于等于这个数的开平方,例如3*4=12,3 < 2√3,再比如4 * 4 = 16,2 < 4,所以m * n = k,那么m 和 n 中至少有一个小于等于sqrt(k)。例如2,3,5,7等都是素数,它们除了1和本身外再无其他因子。1既不是质数也不是合数。合数是与质数相对的数,合数是指除了1和它本身外还有其他因数的数。例如2,4,6,8等皆是合数。素数即质数,指

2023-07-15 20:40:50 88 1

空空如也

空空如也

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

TA关注的人

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