自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 [LeetCode-45] 基于贪心算法的跳跃游戏 II-最少跳跃次数的求解(C语言版)

printf("您已在终点,无需跳跃,所需的最少跳跃次数为 0 次。// 如果起始位置就是终点,则可以到达。// 保存最远位置对应的索引。while (left < right) { // 寻找可跳的位置。// 记录当前位置可达到的最远距离。// 跳跃次数加 1。printf("所需的最少跳跃次数为 %d 次。printf("请输入您想测试的数组的长度:\n");每次跳跃从可选择的位置中选择跳到可以达到最远距离的位置。printf("请输入数组元素:\n");

2024-10-31 15:38:56 1026

原创 [LeetCode-455]基于贪心算法的分发饼干问题的求解(C语言版)

/ 如果可分发,位标移向下一个,否则不移动孩子。:假设你是一位很棒的家长,想要给你的孩子们一些小饼干。// j 是孩子胃口数组位标索引。// 对孩子胃口数组排序。你的目标是满足尽可能多的孩子,并输出这个最大数值。printf("请输入每块饼干的尺寸大小:\n");printf("请输入每个孩子的胃口大小:\n");,这是能让孩子们满足胃口的饼干的最小尺寸;printf("请输入饼干的数量:\n");printf("请输入孩子的数量:\n");

2024-10-30 16:22:27 847 1

原创 [LeetCode-55]基于贪心算法的跳跃游戏的求解(C语言版)

你最初位于数组的第一个下标位置。数组中的每个元素代表你在该位置可以跳跃的最大长度。判断你是否能够到达最后一个下标,如果可以,返回。printf("请输入您想测试的数组的长度:\n");printf("可以跳到最后。printf("可以跳到最后。printf("请输入数组元素:\n");printf("无法跳到最后。给你一个非负整数数组。

2024-10-30 15:07:04 673

原创 合并排序算法(C语言版)

/ 对 a[middle+1,right] 进行合并排序。if(i>middle){ // 将 a[middle+1,right]中剩余部分拷贝到 b 数组当中。// 对 a[left,middle] 进行合并排序。// 当 a[1,middle] 和 a[middle+1,right] 中都有元素时,小的保存到 b 数组中。// 将 a[left,middle] 和 a[middle+1,right]合并到 b[left, right]中。// 合并到数组 a。

2024-10-29 18:24:41 761

原创 带头结点的单链表的常用操作(加入InitFlag)(C语言版)

/ 参数合法性检验,参数非法或已销毁,返回不再执行销毁操作。=NULL && j<i-1) { // 如果存在,找到第 i-1 个结点。// 参数合法性检验,链表不存在或已销毁。

2024-10-18 13:05:37 498

原创 带头结点的单链表的常用操作(C语言版)

/ 如果第 i-1 个结点和第 i 个结点不存在,无法删除,返回错误。=NULL && j

2024-10-18 12:11:08 819

原创 基于递归的国王分财产问题的求解方法(C语言版)

他把财产分为若干份,然后给第一个儿子一份,再加上剩余财产的1/10;给第i个儿子i份,再加上剩余财产的1/10。// 结束 m 探测的标志 ,找到符合题意的 m 时为真。int f(int n,int m){ // 表示第 n 个孩子看到的财产数量(前一个孩子分后剩下的)// 当 m 等于 0 时,对应的 n 就是孩子的数量。if(m==0) // 递归出口,第 n 个孩子分完剩下的应该是 0,// 下一个孩子看到的财产数量。

2024-10-17 19:14:22 441

原创 基于链表数据结构+优先队列式(LC)分支限界算法的布线问题的求解(C语言版)

if((true == ListEmpty_L(L))&&( -1 == distance)) { // 仿制恰巧目标节点出队后队空的情况。if((end_row == e.row)&&(end_col == e.col)) { // 是目标则退出。while(FALSE == ListEmpty_L(L)) { // 队列非空执行循环。

2024-10-17 15:09:02 1001

原创 基于链队数据结构+队列式(FIFO)分支限界算法的布线问题的求解(C语言版)

if((true == QueueEmpty_LQ(Q))&&( -1 == distance)) { // 放置恰巧目标节点出队后对空的情况。if((end_row == e.row)&&(end_col == e.col)) { // 是目标则退出。if(map[temp.row][temp.col] == 0) { // 未访问过的结点。if(map[temp.row][temp.col] == 0) { // 未访问过的结点。

2024-10-16 12:54:18 1122

原创 不带头结点的链栈操作集(C语言版)

printf("栈不存在,请先进行栈的初始化操作!printf("栈不存在,请先进行栈的初始化操作!printf("栈不存在,请先进行栈的初始化操作!printf("栈不存在,请先进行栈的初始化操作!printf("栈不存在,请先进行栈的初始化操作!// 参数合法性检验,参数非法或栈已销毁,返回不再执行销毁操作。printf("栈内没有元素,不能执行出栈操作!

2024-10-03 17:41:24 959

原创 顺序表的基本操作集(C语言版)

printf("请确认参数合法化或者先执行顺序表的初始化操作!printf("请确认参数合法化或者先执行顺序表的初始化操作!printf("请确认参数合法化或者先执行顺序表的初始化操作!printf("请确认参数合法化或者先执行顺序表的初始化操作!printf("请确认参数合法化或者先执行顺序表的初始化操作!printf("请确认参数合法化或者先执行顺序表的初始化操作!printf("请确认参数合法化或者先执行顺序表的初始化操作!printf("请确认参数合法化或者先执行顺序表的初始化操作!

2024-10-03 16:52:10 861

原创 不带头结点的链队操作集(C语言版)

/ 参数合法性检验,参数非法或已销毁,返回不再执行销毁操作。

2024-10-02 23:22:52 709

原创 带头结点的链队操作集(C语言版)

/ 参数合法性检验,参数非法或已销毁,返回不再执行销毁操作。// 如果队空,返回,不执行操作。

2024-10-02 21:15:11 1135

原创 循环队列的操作集(C语言版)

printf("单前队列中元素的个数为:%d\n",QueueLength_Sq(Q));// 参数合法性检验,参数非法或已销毁,返回不再执行销毁操作。// 如果是空队,返回错误。

2024-10-02 17:47:36 972

原创 不带头结点的链栈操作集(C语言版)

printf("栈不存在,请先进行栈的初始化操作!printf("栈不存在,请先进行栈的初始化操作!printf("栈不存在,请先进行栈的初始化操作!printf("栈不存在,请先进行栈的初始化操作!printf("栈不存在,请先进行栈的初始化操作!printf("栈内没有元素,不能执行读取栈顶元素操作!printf("取出栈顶元素的值:%d\n",e);printf("请输入要入栈的元素的值:\n");printf("链栈为空!

2024-10-01 20:47:52 571

原创 带头结点的链栈操作集(C语言版)

/ 参数合法性检验,非法栈不存在,不再执行栈的销毁操作。// 参数合法性检验,非法返回参数错误。

2024-10-01 20:46:02 992

原创 顺序栈的操作集(C语言版)

/ 参数合法性检验,非法返回参数错误。// 参数合法性检验,非法返回参数错误。

2024-10-01 20:43:40 897

原创 基于递归的五人捕鱼问题的求解方法(C语言版)

A、B、C、D、E五人合伙夜间捕鱼,凌晨时都疲惫不堪,各自在河边的树丛中找地方睡着了,日上三竿,A第一个醒来,他将鱼平分作五份,把多余的一条扔回湖中,拿自己的一份回家去了,B第二个醒来,也将鱼平分为五份,扔掉多余的一条,只拿走自己的一份,接着C、D、E依次醒来,也都按同样的办法分鱼。printf("第%d个人醒来后看到的鱼的数量是:%d\n", i+1, fish[i]);printf("每个人醒来后看到的鱼的数量具体为:\n");// 形参说明:n表示第几个人,x表示他醒来时看到的鱼的数量。

2024-09-13 11:24:27 584 1

原创 基于递归的汉诺塔问题的求解方法(C语言版)

题目的难度在于,如果用手去移动盘子,如过按照每秒移动一只盘子计算时间的话,按照上述规则将64只盘子从一个柱子移至另一个柱子上,完成时所需时间约为5800亿年。// 形参说明:第一个参数n:盘子数量;//把前n-1个圆盘通过c从a移到b。//把前n-1个圆盘通过a从b移到c。// 形参说明:第一个参数n:第n个盘子;\n",n,a,c);// 函数作用:把第n个圆盘从a移到c,并打印。// 函数作用:把前n个通过b从a移到c。

2024-09-13 11:00:55 268

原创 基于递归的构建等式问题的求解方法(C语言版)

请看上边的算式,为了使等式成立,需要在数字间填入加号或者减号(可以不填,但不能填入其它符号)。之间没有填入符号的数字组合成一个数,例如:12+34+56+7-8+9 就是一种合格的填法;if(n==9){ // 测试到第几个数字,9表示最后一个数字,递归出口。// 0代表没有符号,-1代表加号,-2代表减号。// 判断是否是所需的表达式。// 计算表达式结果。// 打印结果输出表达式。// 递归方式构造表达式。

2024-09-13 03:26:46 805

空空如也

空空如也

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

TA关注的人

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