自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

一个小孩博客

这是一个小孩的博客

  • 博客(51)
  • 收藏
  • 关注

原创 二分查找算法:解题(二分查找,山脉数组的峰顶索引,在排序数组中查找元素的第一个和最后一个位置) [C++]

二分查找算法,也称为折半查找算法,是一种在有序数组中查找特定元素的高效搜索算法。算法原理:二分查找算法的核心原理是利用数组的有序性,每次将查找范围缩小一半。它首先取数组中间的元素与目标元素进行比较,如果中间元素恰好是目标元素,则查找成功;如果目标元素小于中间元素,那么目标元素只可能存在于数组的前半部分,于是可以忽略后半部分,继续在前半部分中进行查找;如果目标元素大于中间元素,则目标元素只可能存在于数组的后半部分,同样可以忽略前半部分,继续在后半部分中进行查找。

2025-03-18 20:06:10 665 3

原创 深入理解 C 语言中的 scanf、printf

在 C 语言编程中,输入输出(I/O)操作是基础且重要的部分。scanfprintffscanffprintfsscanf和sprintf是 C 语言中用于输入输出的六个核心函数。它们之间既有联系也有区别,理解它们之间的关系对于编写高效的 C 程序至关重要。本文将先详细介绍scanf和printf函数及其相互关系。对过程全力以赴,对结果淡然处之。

2025-03-18 20:05:06 1014 2

原创 深入理解二叉搜索树(BST)及其删除操作详解(C++实现)

左子树所有节点的值 < 根节点的值右子树所有节点的值 > 根节点的值左右子树也分别是二叉搜索树这种结构使得查找、插入、删除操作的时间复杂度可以达到O(h),其中h为树的高度对过程全力以赴,对结果淡然处之。

2025-02-27 16:42:53 925 3

原创 算法题:有效三角形的个数、三数之和、四数之和(c++)+双指针法

OJ链接思路:排序+双指针法因为是非负整数的数组nums,需要找出其中可以组成三角形的三元组的数量。根据三角形的性质:对于三条边a、b、c,要构成三角形,必须满足任意两边之和大于第三边,即a + b > ca + c > b且b + c > a。当数组是有序的,设三边为nums[i]nums[j],只要满足,就可以保证其他两个条件也满足。整体思路是:先对数组进行排序,然后从大到小遍历数组,对于每个元素nums[i],使用双指针法在[0, i - 1]区间内寻找满足三角形条件的组合。

2025-02-27 16:41:50 592

原创 堆排:一种高效的比较排序算法

在计算机科学中,排序算法是一类非常重要的算法,它们用于将一系列元素按特定顺序排列。堆排序,作为一种基于比较的排序算法,因其优秀的平均和最坏情况时间复杂度(均为O(n log n))而被广泛应用。本文将详细介绍堆排序的原理、实现步骤以及其优缺点。我们需要先知道要对一组无序数据进行堆排,需要对这组无序数据进行1.建堆(向上调整算法 or 向下调整算法)和2.排序(向下调整算法)操作,即可;

2024-12-20 18:44:10 970 3

原创 C语言中的文件操作:基础与实践

在C语言中,文件操作是一项基本而重要的技能。无论是读取配置文件、写入日志还是处理数据,文件操作都是不可或缺的。本文将介绍C语言中文件操作的基本概念、常用函数以及一些实践技巧。一个数据在内存中是如何存储的呢?字符⼀律以ASCII形式存储,数值型数据既可以⽤ASCII形式存储,也可以使⽤⼆进制形式存储。文本文件:如.txt、.csv、.xml等,包含可读的文本信息。二进制文件:如.bin、.dat、.jpg等,包含二进制数据,可能包含图像、音频、视频等。

2024-12-20 18:43:09 1238 1

原创 直接插入排序:算法界的“老好人”

插入排序(Insertion Sort)是一种简单直观的排序算法,它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。插入排序在实现上,通常采用in-place排序(即只需用到O(1)的额外空间的排序),因此它在从后向前扫描过程中,需要反复把已排序元素逐步向后挪位,为新元素提供插入空间。总的来说,直接插入排序就像是那个总是乐于助人的邻居,只要你的“房子”(数组)不是太乱,他总是能帮你快速搞定。但如果“房子”(数组)已经一团糟,他可能就需要更多的时间和耐心了。

2024-11-25 13:52:07 864 10

原创 希尔排序:一个“跳房子游戏”

希尔排序(Shell Sort)是一种基于插入排序的算法,由Donald Shell于1959年提出。它克服了插入排序在大规模数据集上的效率问题,通过引入一个“增量”(gap)的概念来改进排序过程。最后,如果你对希尔排序感兴趣,不妨亲自尝试一下。就像不是所有的跳跃都能到达终点一样,希尔排序也不是万能的。它在某些情况下可能不如快速排序或归并排序高效。但是,了解不同的排序算法,就像是了解不同的舞蹈步伐,有时候,选择合适的步伐,才能跳出最优雅的舞蹈。希望你们喜欢这篇关于希尔排序的“跳跃”之旅。

2024-11-25 13:50:58 878 8

原创 计数排序:一种非比较排序算法的深入解析

在计算机科学的世界里,排序算法是基础而重要的一环。它们不仅关系到数据的组织和检索效率,还直接影响到程序的性能。今天,我想和大家分享一种简单而高效的排序算法——计数排序(Counting Sort)。这种算法以其独特的优势,在处理特定类型的数据时,能够展现出卓越的性能。计数排序是一种简单而高效的排序算法,特别适合处理大量数据且数值范围较小的情况。虽然它不适用于所有类型的数据,但在合适的场景下,它能够提供线性时间复杂度的排序性能。了解和掌握计数排序算法,能够帮助我们在解决实际问题时有更多的选择和策略。

2024-11-18 17:52:27 1242 3

原创 冒泡排序:计算机界的“泡泡浴”大揭秘!

亲爱的编程小伙伴们,你们是否曾经在编写代码时,感到自己的思绪就像一团乱麻,急需一种方法来“洗牌”?今天,我们就来聊聊计算机科学中的“泡泡浴”——冒泡排序(Bubble Sort)。这不仅仅是一种排序算法,它还是一种让你的代码变得井然有序的魔法!冒泡排序,虽然不是最快的排序方法,但它的简单和直观让它在教学和理解算法基础方面占有一席之地。就像泡泡浴一样,虽然不是最快的清洁方式,但它带来的放松和乐趣是无可替代的。下次当你需要对数据进行排序时,不妨考虑一下这个“泡泡浴”算法,也许它会给你的代码带来一丝清新的气息。

2024-11-18 17:52:05 549 4

原创 线性表之链表详解

线性表(linear list)是n个具有相同特性的数据元素的有限序列。线性表是一种在实际中广泛使用的数据结构,常见的线性表:顺序表、链表、栈、队列、字符串…线性表在逻辑上是线性结构,也就说是连续的一条直线。但是在物理结构上并不一定是连续的,线性表在物理上存储时,通常以数组和链式结构的形式存储。概念:链表是一种物理存储结构上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。无头单向不循环链表简称单向链表但是链表中的每个节点怎么定义,为什么呢?这里我们需要运用结构体来定义节点。

2024-11-08 11:43:32 884 15

原创 栈的实现(数组实现+链表实现)+括号匹配

在计算机科学中,栈是一种基础且重要的数据结构,它以“后进先出”(LIFO)的方式存储和管理数据。栈的概念在许多算法和程序设计中扮演着关键角色,从函数调用的堆栈管理到浏览器的前进后退功能,栈的应用无处不在。本文将带你深入了解栈的概念、操作、实现方式以及它的实际应用。// 定义一个类型别名 StackType,等同于 int 类型。// 指向一个整型数组的指针,用于存储栈中的元素。int size;// 栈中当前元素的数量。// 栈的最大容量。} ST;// 定义一个结构体类型 ST,代表栈。

2024-11-08 11:42:46 745 3

原创 C语言之练习题

我还想告诉你的是:对过程全力以赴,对结果淡然处之也是对我自己讲的。

2024-10-16 22:14:19 1643 11

原创 C语言之练习题

OJ地址设置两个指针,从开头向后找k个数值求平均值,继续往后遍历,找出最大平均值;注意:可能会显示时间超时可以先将0~k个数值的看作是一个窗口,计算出这个窗口中的所有元素的和sum,并且记录所有元素和的最大值maxsum,再让这个窗口往后移动一个数字计算窗口的和最大值,依次类推,等窗口走完,将得到的最大和maxsum / k =最大的平均值//设置最大平均值:double x=k;//把int类型的k转化为double类型i++)//往后找k个数值j<k+i;

2024-10-16 22:12:38 961 2

原创 扫雷(基础+炸金花)代码实现

这篇是对曾经一篇的补充,并且改良;扫雷的代码实现加油吧,代码人!!!!!!!!!!1我还想告诉你的是:对过程全力以赴,对结果淡然处之。

2024-09-06 19:23:17 487 4

原创 【Linux权限】基本权限

该文章介绍了Linux系统的权限问题,并且给出解释,欢迎大家的访问!!对过程全力以赴,对结果淡然处之。

2023-11-10 13:55:40 599 32

原创 【计算机基础知识】字符的编码表示

计算机处理的数据中,除了数值型数据以外,还有字符、图形等的非数值型数据。其中字符是日常生活中使用最频繁的非数值数据,它包括大小写英文、符号以及汉字等。由于计算机只能识别二进制编码,为了能够对字符进行识别和处理,因此要对其进行二进制编码表示;我还想告诉你的是:对过程全力以赴,对结果淡然处之也是对我自己讲的。

2023-10-07 23:07:01 3102 50

原创 【二叉树练习题】

本篇文章共有9道题,其中4题是初阶,5题是进阶题;希望该文章对你有帮助!我还想告诉你的是:对过程全力以赴,对结果淡然处之也是对我自己讲的。

2023-10-07 15:35:15 220 38

原创 【数据结构】队列实现+层序遍历详解+一些练题

😎我还想告诉你的是:对过程全力以赴,对结果淡然处之也是对我自己讲的。

2023-09-30 12:01:15 891 53

原创 【计算机基础知识】计算机的概念

美国数学家香农说过:信息是能够消除不确定性的东西,也就是说信息能消除事物的不确定性,把不确定变成确定性;我还想告诉你的是:对过程全力以赴,对结果淡然处之也是对我自己讲的。

2023-09-20 17:08:44 5614 57

原创 【数据结构】堆的应用+TOP-K问题+二叉树遍历

该篇文章写到主要是:堆排序、 TOP-K问题、二叉树链式结构的实现、二叉树的遍历等等;堆和二叉树的概念;最后老铁们准备发车喽!!!我还想告诉你的是:对过程全力以赴,对结果淡然处之也是对我自己讲的。

2023-09-18 16:18:22 577 47

原创 树、二叉树概念(+堆的实现)

新的篇章的开始,是见证我的这一刻;噢,这美好的一天;是需要你来见证的!我最亲爱的老铁们!!😊太多次了,越是大张旗鼓的事情,越是容易不了了之,真正的变化,总是在问声不响,慢慢实现的;当你开始炫耀,往往都是灾难的开始;我还想告诉你的是:对过程全力以赴,对结果淡然处之也是对我自己讲的。

2023-09-14 13:54:26 453 68

原创 C语言之练习题

😎我还想告诉你的是:对过程全力以赴,对结果淡然处之也是对我自己讲的。

2023-09-07 22:10:59 784 51

原创 C语言之练习题

今天是学校开学的第一天😊,真是个特殊的日子,步入写博客已经不知不觉有6个月了,我能感受写博客越来越从容了,那就让我俯视这我所热爱的一切。😎我还想告诉你的是:对过程全力以赴,对结果淡然处之也是对我自己讲的。

2023-09-04 18:40:56 875 33

原创 C语言之练习题

这期文章由:两题问答题+四道编程题;在这期文章中写了几道编程题,如果还有更好的方法的老铁,可以在评论区里面一起进行讨论哦,在后面随着小孩的知识储备越多,小孩肯定还会加以优化优化!!我还想告诉你的是:对过程全力以赴,对结果淡然处之也是对我自己讲的。

2023-09-03 13:16:21 593 22

原创 C语言之练习题

题解思路:该题考察的是我们对运算符优先级掌握+对二维数组的理解;运算符优先级详解;在表达式中下标引用操作符优先级是最高的;所以是先如果拆开就可以更好理解其结构:选项A:*(X[ i ]+j);下标引用操作符“ [ ] ”是比括号“( )”的优先级高的,既然是一个二维数组,可以看成是一个一维数组的集合;而这个选项是与X[i][j] 等效的;选项B:*X( i )[ j ];要知道“[ ]”是先于“ * ”的,所以先是下标引用操作符先进行操作,这本就是一个错误的表达式;

2023-08-31 18:16:00 453 24

原创 顺序表之初

线性表最基本、最简单、也是最常用的一种数据结构。线性表(linear list)是数据结构的一种,一个线性表是n个具有相同特性的数据元素的有限序列。线性表(linear list)是n个具有相同特性的数据元素的有限序列。顺序表、链表、栈、队列、字符串…线性表在逻辑上是线性结构,也就说是连续的一条直线。但是在物理结构上并不一定是连续的, 线性表在物理上存储时,通常以数组和链式结构的形式存储。顺序表是用一段物理地址连续的储存单元依次储存数据结构的线性结构,一般情况采用的是数组储存;

2023-08-26 14:51:37 325 27

原创 链表之第三回

今天的天气很不错😸,大早上起床,晨跑3公里,好久没这么跑了,真的很不错,我喜欢汗淋淋的感觉😄;暑假的假期时间也快到了,珍惜珍惜拥有自己所能支配的时间,来写几题吧✍️;寻找环形链表的入环点的两种方法看似相同,其原理是不同的,看代码量也可以看出,前者是按照对环形的深刻理解方能很好的想到,而后者是根据其他知识求解出来的;如果还有更好的方法的老铁,可以在评论区里面一起进行讨论哦,在后面随着小孩的知识储备越多,小孩肯定还会加以优化优化!!我还想告诉你的是:对过程全力以赴,对结果淡然处之也是对我自己讲的。

2023-08-20 17:07:59 440 27

原创 链表之第二回

对于我来说这个博客是一个学习的地方,就像我的上篇文章一样,有老铁们的支持,陪伴;我很满足,这个栏目我会继续坚持下去,108回,就像我的108难一样,只要撑过磨难,一定能取到真经;对过程全力以赴,对结果淡然处之对每到题,可能还是可以优化的,如果还有更好的方法的老铁,可以在评论区里面一起进行讨论哦,在后面随着小孩的知识储备越多,小孩肯定还会加以优化优化!!我还想告诉你的是:对过程全力以赴,对结果淡然处之也是对我自己讲的。

2023-08-18 16:19:22 367 23

原创 链表之第一回

———————对过程全力以赴,对结果淡然处之!到了最后:我还想告诉你:对过程全力以赴,对结果淡然处之也是对我自己讲的。

2023-08-15 21:01:11 410 35

原创 动态内存空间管理

前面发出一篇:C语言结构体篇买酒的小码农博主满满的干货呀。也证明了我学的知识也是不够扎实,老铁们也可以在评论区和我进行交流哦,咱们要一起进步呀。写一篇博客你会发现你许多的不足,这也是对我自己的再一次学习,对此我想告诉大家我很喜欢的一句话:———————对过程全力以赴,对结果淡然处之这个函数可以在内存中申请一块连续的空间(堆区),并且返回这块空间的起始位置的地址,但是不会初始化这块空间。如:// 40 ---->的单位是字节。

2023-08-09 11:27:14 327 39

原创 C语言之结构体篇(简)

/ struct book 是定义的数据类型的名字,它向编译系统声明这是一个“结构体类型” struct book {int mony;} s1 , s2;//全局变量(创建结构体类型时顺带创建2个结构体全局变量) //最后的分号千万不能省略 int main() {//局部变量 return 0;

2023-08-02 18:20:03 801 26

原创 经典指针类型题目(1)

(cpp-1)-1) , 此时cpp指向cp第三个元素:c+1,先-1,找到的是cp数组的c+2,看图解引用找到c数组第三个元素,再-1,找到c中第二个元素,解引用找到数组“NEW”,再+1,最后打印出“EW”。c是一级指针数组,指针数组就是存放指针的数组,其数组元素类型是char*,每一个指针对应的是其数组中的元素:“ENTER”…cp是二级指针数组,其数组元素类型是char**,每个指针对应的其一个元素:c+3…cpp则是三级指针,里存放的是cp的首元素地址;最后是:cpp[-1][-1]+1。

2023-07-28 17:55:43 131 8

原创 快速排序 (挖坑法)

实现方法首先对于,想了解的朋友,可以去看我的另一篇链接:。接下来的就是。

2023-06-22 12:05:49 417 9

原创 qsort函数快速排序

qsort函数:qsort函数C语言编译器函数库自带的排序函数。其参数:base-- 指向要排序的数组的第一个元素的指针。size_t num-- 由 base 指向的数组中元素的个数。size_t width :数组中每个元素的大小(以字节为单位)是无符号整型。compar:用来比较两个元素的函数,即函数指针(回调函数)。回调函数就是一个通过函数指针调用的函数。如果把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用来调用其所指向的函数时,就说这是回调函数。

2023-06-12 12:42:07 139 13

原创 快速排序(左右指针法)

当重新处理数组时,也是一样的重新设置好基准数 1 ,“left”指向最左边 1,“right”指向原来“key”的左边一位也就是 2,将key的左序列和右序列再次进行这种单趟排序,如此反复操作下去,直到左右序列只有一个数据,或是左右序列不存在时,便停止操作。接下来进行第二次交换,以上述过程一样,让“right”先进行向左移动(right=right - 1),找到一个小于基准数3的数,直到找到1,这个时候“left”和“right”所指向的数相同。然后再将“key”当做分界线,将这组数组在进行分别的处理。

2023-06-11 10:17:12 522 9

原创 浮点数类型在内存中的储存

首先我们需要了解到浮点数就是数学中的小数——————但为什么在计算机语言中要叫做浮点数呢?1.首先知道【12.3】是小数的2.但是还可以写成【1.23*10^1】3.在对这两个数字比较,不难发现:同一个数用不同的科学计数法表现中,小数点是在浮动的,所以这就叫作浮点数。

2023-06-03 17:35:36 396 2

原创 由入门到深解VS调试技巧

visual studio (简称VS) 是集成环境(含VC等)的一个软件,它本身也是由微软公司开发的工具和产品,它像是是一个可视化的工具集合,它将代码编辑,编译器,连接器,资源编辑器什么的整合在同一个开发环境中,可以编写Windows、Linux和iOS等平台的程序,可进行很多种编辑语言,比如:C、C++、Python和JavaScript等等。首先我们需要安装visual studio这个软件,在进入VS官方官网链接:VS官方下载途径。

2023-05-30 17:43:24 3039 15

原创 数据(整形类)在内存中的储存

整形数据,以下的数据类型都可分为整形数据,因为char字符类型在进行存储的时候,存的是ASCII码值,是整形,所以可以将char类型归为整形类型。浮点数类型,在除了以下几种的浮点数类型,其实还存在:long double;等相似类型。当然除了以上C语言内置类型,还存在自定义类型。就是为自己构造类型,比如:在其中数组类型是为 数据类型和元素个数组合起来,比如说://数组类型—> int [10];//数组类型—> int [5];//数组类型----> char[10];

2023-05-27 16:37:06 199 3

原创 扫雷小游戏等级

如。

2023-05-11 15:48:55 181 3

空空如也

空空如也

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

TA关注的人

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