- 博客(15)
- 收藏
- 关注
原创 递归问题大包揽(C语言版)
递归是一种函数或算法在其定义中调用自身的编程技巧。它的核心思想是将一个大型复杂问题分解为规模更小的同类问题,然后递归地解决这些子问题,直到达到可以直接解决的地步。递归的关键在于两个主要属性:基本情况(保证递归能够终止)和递推关系(将问题分解为子问题的规律)。
2024-10-23 20:55:01
572
原创 【数据结构】删除单链表中所有值为k的结点(C语言版)
我们沿用上节中删除最小值的思想,定义指针p 为L的第一个结点,pre为L的头结点,遍历单链表,当发现p->data==k的时候,我们直接利用pre删除此时的p结点即可。我们只是删除了p结点,但是并未删除pre结点,所以我们可以直接让p等于pre的下一个结点,我们此时删除了p结点,那么我们该如何继续利用p结点去遍历链表呢?[数据结构] 删除单链表中最小值结点(C语言版本)-优快云博客。可以参考尾插法中的防断链指针思想。
2024-10-23 20:26:12
433
原创 [数据结构] 删除单链表中最小值结点(C语言版本)
如图所示:定义指针p 为L的第一个结点,pre为L的头结点,min为记录每次遍历的最小值结点,minpre为记录最小值结点的上一个结点,p和pre 逐次遍历单链表,p与min进行比较,若是p中的节点值小于min中的节点值,那么就让min移动到此时p结点的位置,当遍历完全后,min此时就指向了链表中最小的值结点,此时通过minpre就可以完整min所指结点的释放。单链表的基本操作(C语言版)-优快云博客。
2024-10-23 18:52:55
1200
原创 奇偶序号分割单链表(C语言)
要想将单链表L按照奇偶序号分割为两个单链表A(奇),B(偶),我们便可以定义一个变量来记录当前遍历的结点序号的奇偶,两个指针 ra,rb,ra负责将奇数位置结点赋到A中,rb同理。
2024-10-22 18:56:23
527
原创 单链表的元素逆置(C语言版)
书接上文单链表的基本操作,头插法插入元素1,2,3遍历结果为,3,2,1;,从而实现逆置,答案显然是可以的,那么具体该如何实现呢。我们现在想要实现一个单链表A的元素逆置的话,是否可以。让单链表A中的元素依次进行一个头插法,重新插入链表中。单链表的基本操作(C语言版)-优快云博客。由此我们就可以实现单链表的元素逆置。
2024-10-21 21:32:48
600
原创 单链表的基本操作(C语言版)
单链表是一种基础的数据结构,用于存储元素集合。它由一系列节点组成,每个节点包含两部分:数据域和指针域。数据域存储实际的数据,而指针域存储下一个节点的地址。单链表的第一个节点称为头节点,它特殊之处在于可能不存储数据,仅包含指向第一个实际数据节点的指针。链表的最后一个节点的指针域为空,表示链表的结束。
2024-10-20 18:53:39
1003
原创 合并两个顺序表 (求你会版)
方法二:直接比较A,B的每个元素,小的插入到C中,若A,B有剩余,剩余的全部放入C中。直接将两个顺序表合并,然后对C进行排序。将两个顺序表A,B合并为一个顺序表C。
2024-10-19 19:07:44
333
原创 删除顺序表中S_T间的值(大白话,包会)
首先定义两个变量m、n,遍历顺序表,当值为 S 时候,赋值 m 为其下标,值为 T 时,赋值 n 为其下标。三个位置,但是m——n总共有4个位置,所以要n-m+1,然后就是把下标为n后面的元素转移至前。当我们找到m、n时,我们让i从n+1开始遍历,这里有一个易错点就是。,如图所示,n-m只有。
2024-10-18 16:27:58
185
原创 冒泡排序(全文大白话)
冒泡排序就是比较相邻的两个数,如果顺序错了就交换它们;从第一个数开始,一直比较到最后一个数,这样最大的数就被移到了最后;重复这个过程,每次比较的数都比上一次少一个,直到所有数都按顺序排好。冒泡排序的缺点是它的时间复杂度较高,平均和最坏的时间复杂度都是 O(n^2),其中 n 是数组的长度。图画的不好,很抱歉只能靠文字说明,如果还是没有理解可以进下方群聊,一起学习打卡!
2024-10-17 15:10:35
211
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅
1