自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 快速排序、归并排序、计数排序

本文介绍这三种非常强大的排序算法,每种算法都有各自的特点、不同的实现方式和优化。其算法在效率和数据处理等等方面都非常的强大。快速排序是一个很有名的排序算法,被C和C++都采用为库函数中标准排序算法的底层代码,快速排序顾名思义它确实很“快”,效率很高。历史上于1962年由Hoare首先提出,是一种基于二叉树结构的交换排序算法,后续有许多大佬对这个算法有过优化,基于其根本思想有多种不同的实现方法。快速排序的根本思想是:任取待排序元素序列的中的某元素作为基准值。

2025-05-13 21:37:25 1005

原创 插入排序与希尔排序、选择排序与堆排序

本文介绍几种排序算法,我把他们分成两组,每一组的两种算法都有一种简单算法和进阶优化的联系。而这种优化在算法的效率等方面相差是非常大的。本文介绍了四种经典的排序算法,希望大家可以堆排序算法有一个更深的认知。

2025-05-11 19:48:40 841

原创 数据结构——二叉树

树是一种相对复杂的初阶数据结构,它的应用也是非常广泛的,树本身还包括算法中常见的二叉树和堆等等。本篇文章就来讲解一下初阶数据中树的内容。如果有一个数据的集合K = {k0 , k1 , k2 , …,kn−1},把它的所有元素按照二叉树的顺序存储方式存储在一个一维数组中,并满足ki <= k2i+1 且 ki <= k2*i+2),i = 0,1,2……,这时的二叉树就被称为小堆(大堆)。将根结点最大的堆叫做最大堆或大根堆,根结点最小的堆叫做最小堆或小根堆。这就是堆结构的定义,堆只有小堆和大堆之分。

2025-05-11 19:48:00 1051

原创 数据结构——栈和队列

栈和队列是两种非常特殊的数据结构,各自有各自特殊的性质,利用这些性质我们可以实现很多的高阶数据结构或者算法等。本篇文章旨在介绍栈和队列的概念和底层逻辑的基本实现。栈和队列的实现虽然内容就这么多,但重要的还是他们这种结构、特性所带来的一种思想和方法,不仅能够辅助我们解决复杂的问题,也能够帮助实现更复杂的数据结构和算法。所以不能拘泥于这里本身的代码实现,而是要回以不同的形式在不同的地方利用它。

2025-04-20 21:43:44 820

原创 数据结构——链表

本文详细的介绍了链表的概念与结构,并且手撕了两种常见的主要的链表基本逻辑和代码实现,希望能让大家更好的学习链表这种数据结构。

2025-04-20 21:42:45 1244

原创 数据结构——顺序表

顺序表是数据结构里面基础的一种,它的使用也是很广泛的,本文作者将详细介绍顺序表和基本的代码实现。本文介绍了初阶数据结构的顺序表,这是一种比较简单的数据结构,也是作者学习数据结构的开端,如果有什么错误也希望各位大佬指正。

2025-04-18 23:04:55 974

原创 C语言自定义类型——结构体、联合和枚举

C语言中的结构体是一种非常重要的自定义类型,C语言32个关键字中的struct用于定义结构体类型,结构体是更高级数据结构的基础。而联合体union和枚举enum又是另外两种重要的自定义类型。它们有着不同的用途和特点,但都相当重要。本篇文章就来讲述一下结构体、联合和枚举的基本知识。结构体、联合和枚举这三种自定义类型都向我们展现了高效处理大规模数据的能力,尤其是结构体,是数据结构的基础。本片文章讲述了三种类型的基本知识,希望能够帮助大家更好的学习C语言。

2025-03-16 15:03:30 749

原创 C语言-文件操作

我们使用C语言写出程序,但是程序的数据是存储到内存中的,每当程序退出,内存回收,数据就会丢失,下一次再次运行程序是看不到上次的数据的,如果要将数据进行持久化保存,就需要用到文件了。C语言也提供了许多对于文件的操作,本文就对文件和文件相关的操作进行讨论。在C语言中,文件就是存储到外部介质(如硬盘,U盘)上的数据集合,程序通过文件操作对这些数据进行交互。在程序的设计中,从文件功能上来分,我们一般谈的文件有两种:程序文件和数据文件程序文件在计算机中,程序文件是指存储可执行代码的文件。

2025-03-16 15:03:01 1264

原创 C语言-动态内存管理

C语言是很接近内存的一门语言,C语言中自然会有对于内存的操作方法,这里我们介绍几个库函数,分别针对内存有相应的功能,能够让我们对内存空间的使用更加的灵活。C语言的动态内存管理是一把双刃剑——它功能强大,赋予我们灵活调配资源的能力,但也需要我们正确的使用每一字节的空间。希望这篇文章能给帮到你,让内存为你所用。

2025-03-14 19:18:54 651

原创 C语言-数据在内存中的存储

本文将对数据在内存中的存储做一个比较详细的分析,从内存的角度根本的讨论数据在内存中到底是以什么样的形式存放的本文总体讲述了数据在内存中的存储方式,补充了进制转换的位操作符的一些内容,相信可以让你对数据存储有更深的理解。

2025-03-14 19:17:35 638

原创 C语言重要库函数

本篇文章会详细讲解一下C语言一些比较常见且简单的库函数。主要是关于字符串和内存操作的函数。有一些相对不复杂的函数我会用自己的代码进行一个模拟,方便大家对这个函数的功能有更好的理解本文总结了我学到的一些C语言库函数,给出了大部分的模拟实现。如有不足望指正。

2025-03-12 16:15:12 1110

原创 C语言指针总结:一篇文章让你掌握指针的基本知识和要点

C语言中,指针是最精华的一部分,它使得C语言能够完成较复杂的编程,也让C语言能够直接访问内存进行调用,可见它十分重要。本文就是根据作者自己的学习和理解对指针这块的知识进行的总结。以上就是我对指针内容的一个基本总结,基本上指针的基本内容和一些要注意的要点都涵盖到了,应该把概念这些都讲的差不多了,也是一篇很长的文章了。如果有什么问题,大佬请指正。本人还是小萌新,学的比较慢。不喜勿喷。

2025-02-23 15:59:17 881

原创 汉诺塔问题的C语言实现

偶然接触到了汉诺塔问题这个编程问题,在一段时间的苦思冥想后突然悟了,遂而赶紧上号写一篇博客记录一下自己的感悟。提示:以下是本篇文章正文内容,下面案例可供参考这个问题相当于是自学完成的,对于我这个小白还是有难度的,做出来了也非常高兴。以上有很多都是我自己的感悟和理解写出来了,如果有什么问题也请各位大佬指正。

2024-11-30 15:50:33 1258

原创 scanf函数的使用

scanf函数是C语言标准的输入语句,它与printf函数语法类似。本文详细讨论一下scanf函数的各种用法和一些注意点。

2024-11-25 21:25:04 844

原创 一个全新的开始

这是我的第一篇博客了,也讲述了我或眼前或长远的一些目标和计划。也许里面对我现在最重要的就是坚持下去吧。不管怎样,这都是我的一个新的开始,也许等若干年后再次看到这篇文章也会非常感慨吧哈哈哈…加油吧!

2024-11-23 19:12:27 285

空空如也

空空如也

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

TA关注的人

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