自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 动态内存分配函数

本文介绍了C语言中内存动态分配的概念和实现方法。动态分配允许程序在运行时按需申请内存,数据临时存放在堆区,只能通过指针引用。系统提供四个主要函数:malloc分配指定大小空间,calloc为数组分配连续空间,realloc调整已分配空间大小,free释放内存空间。这些函数都声明在stdlib.h头文件中,使用时需包含该文件。动态分配机制提供了灵活的内存管理方式,可根据程序需求随时申请和释放内存空间。

2025-12-04 20:57:52 858

原创 疑问解答之链表结点的结构体定义

结构体内部可以定义指向自身类型的指针,是因为指针的大小是固定的(32位系统4字节,64位系统8字节),编译器无需知道结构体完整定义即可确定指针所需内存。而包含自身实例会导致无限递归定义,无法确定结构体大小。这种机制允许实现链表、树等递归数据结构,是C/C++的重要特性。指针的固定大小使得编译器分阶段处理时,即使类型未完全定义也能预留指针空间。

2025-11-10 21:37:16 351

原创 选择排序法详解

选择排序是一种简单的比较排序算法,通过不断选择未排序部分的最小元素放到已排序部分末尾。算法分为查找最小值和交换两个步骤,时间复杂度始终为O(n²),空间复杂度为O(1)。C语言实现使用嵌套循环,外层控制位置,内层查找最小值并交换。相比冒泡排序,选择排序交换次数更少(最多n-1次),但不稳定。示例演示了对数组[64,25,12,22,11]的完整排序过程。

2025-10-07 00:06:41 1727

原创 冒泡排序法补充

通过分析冒泡排序算法在降序排列时的运行过程,揭示了常见的理解误区。以数列[55,23,87,62,16]为例,说明了降序排序时第一轮仅能将最小值移到末尾,而非直接使最大值到达首位。解释了冒泡排序的逐步移动特性,强调该算法每轮只能保证当前未排序部分的最小值沉底,最大值需要多轮比较才能到达正确位置。最后明确了升序和降序排列的交换条件差异。

2025-10-03 00:14:33 1003

原创 冒泡排序法

冒泡排序法又称为交换排序法,是从观察水中气泡变化构思而成的,原理是从第一个元素开始,比较相邻元素的大小,若大小顺序有误,则对调后再进行下一个元素的比较,仍佛气泡从水底逐渐升到水面上一样。如此扫描过一次之后就可确保最后一个元素位于正确的顺序,接着逐步进行第二次扫描,直到完成所有元素的排序关系为止。二、核心思想重复地遍历要排序的列表,一次比较两个相邻的元素,如果它们的顺序错误(比如小的在后,大的在前),就把它们交换过来。

2025-10-02 12:34:45 1482

空空如也

空空如也

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

TA关注的人

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