- 博客(41)
- 收藏
- 关注
原创 数组の递归求最大值
回到 findMax(a, 2) 这一层,此时 max 的值就是上一层( findMax(a, 1) )返回的 1 ,然后比较 a[n - 1] (也就是 a[1] ,值为 4 )和 max (值为 1 ),因为 4 > 1 ,所以这一层返回 4。- 回到 findMax(a, 3) 这一层,此时 max 的值变为上一层( findMax(a, 2) )返回的 4 ,再比较 a[n - 1] (即 a[2] ,值为 2 )和 max (值为 4 ),由于 2 < 4 ,这一层依然返回 4。
2024-12-08 23:18:43
468
原创 栈和队列(链式)の回文串
若一个字符串与其自身的逆序串相等,则称该字符言为回文字符串。例如“CSUSTSUSC”就是一个回文字符串。设计实现顺序栈又包括栈的初始化、进栈、出栈、判栈空等操作)和能队列(包括队列的初始化、进队、出队、判队空等操作);并基于栈和队列,编写主程序main()实现判断一个字符是否是回文字符串,是则打印yes,否则打印no。
2024-12-04 23:05:07
727
原创 线性表の倒数第k个节点的位置
定义两个指针变量p和q,初始时均指向头结点的下一个结点(链表的第一个节点),p指针沿链表移动;当p指针移动到第k个结点时,q指针开始与p指针同步移动;当p指针移动到最后一个结点时,q指针所指结点为倒数第k个结点。
2024-12-03 00:21:27
409
原创 二分查找の若找不到,将其插入表中
在二分查找循环结束后,如果没有找到要查找的元素 x ,此时 low 的值会大于 high。而 high 的值实际上就是元素 x 应该插入的位置的前一个位置(基于二分查找的特性,当查找失败时, high 刚好停留在合适插入位置的前一个元素处)。所以要插入元素 x ,就是要把它放到 high + 1 这个位置。
2024-12-02 23:55:53
330
原创 排序の快排,划分线性表左半均奇右半均偶
设计一个算法能够在O(n)的时复内将线性表划分成两部分,其中走半部分记录的每个关键字均为奇数,右半部分记录的每个关键字均为偶数。
2024-11-29 23:42:36
147
原创 单链表の删除有序单链表中满足特定条件的元素
分配头节点空间,再循环为数组中每个元素创建新节点构建链表;用两个指针遍历链表,当节点值满足条件,跳过该结点并释放其内存空间,否则继续遍历,直至结束。删除单链表中大于mink且小于maxk的所有元素,并释放被删除节点的存储空间。单链表中各节点的元素值为整型且递增有序;
2024-11-29 01:05:23
283
原创 二叉树の顺存转链存
通过一个队列来辅助完成二叉树的构建,按层次遍历的顺序依次处理每个结点及其子结点。深度为h的二叉树顺序存储在数组bt[1-2^h-1]中;非递归,将二叉树转为链式存储,返回二叉链表根节点指针T。
2024-11-29 00:30:47
323
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人