自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 c语言快速排序函数qsort

这部分则为使用者自己定义的比较大小准则,如果该情况为大于则返回一个>0的值,如果小于返回一个

2023-06-04 19:22:16 166

原创 八皇后问题--回溯(迭代循环回溯)(只有代码和注释)

【代码】八皇后问题--回溯(迭代循环回溯)(只有代码和注释)

2023-06-04 19:03:35 145

原创 prime算法求最小生成树——邻接矩阵(c语言详细代码)(附带案例)

此时将{0,3}这条边加入到存储最小生成树的数据结构中,将顶点3加入到已选集合中{0,3},未选集合为{2,4,5},这时横向边集合也发生了改变{{0,2},{0,1},{0,3},{3,7},{3,5},{3,4}}。Prime算法是切分定理的正向应用。首先选定一个顶点0,当选择一个顶点后就把它看成一个切分,一部分为已选顶点集合{0},另一部分为未选顶点集合{1,2,3,4,5}。其实很好理解,已选集合{0,2,3,4}中的{0,2}那条边已经没有机会再被选择了,他们内部已经构成了局部最小生成树了。

2023-05-22 11:23:45 1720 2

原创 LCP 33. 蓄水(c语言)

给定 N 个无限容量且初始均空的水缸,每个水缸配有一个水桶用来打水,第 i 个水缸配备的水桶容量记作 bucket[i]。小扣有以下两种操作:升级水桶:选择任意一个水桶,使其容量增加为 bucket[i]+1。每个水缸对应最低蓄水量记作 vat[i],返回小扣至少需要多少次操作可以完成所有水缸蓄水要求。思路:要知道总次数,就要知道升级和倒水次数,升级次数不同桶不一样,但倒水次数肯定一样,而且通过倒水次数可以得到升级次数,所以遍历枚举倒水次数即可。输入:bucket = [1,3], vat = [6,8]

2023-05-21 18:47:13 103

原创 分治算法求第k小的元素

将整个问题分解成若干小问题后再分而治之。如果分解得到的子问题相对来说还是太大,则可反复使用分治策略将这些子问题分成更小的同类型子问题,直至产生方便求解的子问题,必要时逐步合并这些子问题的解,从而得到问题的解。通过快速排序,我们可以得到本次的数在整个数组的第几位,再与要求的k进行比较,直到本次快排的中轴数的位置与k相等,就可以得到结果。可以由递归过程来表示,因为分治法就是一种找大规模问题与小规模问题关系的方法,是递归设计的一种具体策略。用分治算法求第k小的数,其本质就是快速排序,不过我们只需要排一半。

2023-05-04 21:30:05 523

原创 java简易计算器

【代码】java简易计算器。

2023-04-26 14:57:06 76

原创 c语言编写排序算法——直接插入排序(附详细代码)

先将第一个记录看作是一个有序的记录序列,然后从第二个记录开始,依次将未排序的记录插入到这个有序的记录序列中去,直到整个文件中的全部记录排序完毕。为了讨论简单,假设待排序的每个记录是一个整数,这个整数就是排序码。后面的记录是待排序的。中的序列是有序序列,

2022-12-29 21:09:10 5357

原创 c语言写邻接矩阵的最短路径的Dijkstra算法(附有详细代码)

(1) 用dis数组来存储源点1到其他顶点的初始路径,标记1号顶点,此时dis数组中的值称为最短路径的估计值。(2) 从dis数组中找出离源起点最近的点2号,以2号顶点为源点进行找最近的顶点。把2号顶点标记,表示已经有最小值。

2022-12-29 13:21:55 2375

原创 c语言实现哈夫曼树的创建与中序遍历以及哈夫曼编码(附详细代码)

次循环,每次先找输入的权值中最小的两个结点,把这两个结点的权值相加赋给一个新结点,并且这个新结点的左孩子是权值最小的结点,右孩子是权值第二小的结点;编码的思想是逆序编码,从叶子结点出发,向上回溯,如果该结点是回溯到上一个结点的左孩子,则在记录编码的数组里存。的结点,为了下次能正确寻找到剩下结点中权值最小的两个结点,每次循环要把找的权值最小的两个结点的双亲赋值不为。),每一次循环编码到根结点,把编码存在编码表中,然后开始编码下一个字符(叶子)个叶子结点,构建哈夫曼树,给出每个叶子结点对应编码的程序。

2022-12-28 23:31:02 1281

原创 图的邻接表存储及图初始化

图的邻接表分两部分: 1.顶点表,是一个顺序表,用于存储顶点的值,及与该顶点相邻的第一个顶点指针; 2.边表:是一个链表,每个结点存储与相应顶点有边的另一个顶点编号及下一个顶点指针。 举例,如下所示的图: 其邻接表:测试输入: 0 4 5 0123 0 1 0 2 0 3 1 2 1 3 预期输出: 0->3->2->1 1->3->2->0 2->1->0 3->1->0

2022-12-06 21:46:43 1947 2

原创 图的邻接矩阵存储及图初始化(c语言)

图分有向图和无向图. 对无向图来说,邻接矩阵是对称矩阵,存储时需NN的矩阵,N为顶点数。 举例: 则存储该无向图需44的二维数组,对无权图来说,元素为0或1,若顶点之间有边,则为1,否则为0。上图所示图对应的邻接矩阵如果:0 1 0 01 0 1 10 1 0 10 1 1 0如何输入图?输入图需输入两个关键信息: 1.图的顶点 2.图的边或弧 输入边或弧的时候,可通过输入边或弧的两个邻接点实现。

2022-12-06 21:43:08 1838

原创 二叉树的层序创建和层序遍历(c++,c)

层序遍历时顺序为A->B->C->D->E->F->G,先被访问的结点,他的孩子也是先被访问的,层序创建二叉树时,先创建的结点他的孩子也先创建,符合先进先出原则,因此可以用队列来实现。层序创建和层序遍历的思路大体一致,首先得明白层序遍历。思路:建立一个树节点的队列。第一步,若根节点不为空我们先让根节点入队,判断他的左右孩子是否为空,若不为空打印根节点并让他的孩子入队。第二步,取出队列头结点,判断他是否有左右孩子,若有让其孩子入队。重复第二步直到队列为空。2.层序创建二叉树层序创建其

2022-12-06 20:31:59 2964 2

原创 输出二叉树右孩子

假设我们用一棵二叉树存储你的家族族谱: 对于任意一个结点来说,左孩子代表长子或长女,右孩子代表比他小的弟妹。结点存储的是每个人的代号。本关任务要求:输入某人的代号,输出此人的所有弟妹。

2022-11-13 16:28:08 396

原创 链式二叉树--创建,计算叶结点,中序遍历,计算满结点,交换左右树(c)(头歌)

本段代码含有大量递归,请充分了解递归再查看。

2022-11-08 20:39:49 176

原创 顺序二叉树(c语言)(创建,先序遍历)(头歌)

【代码】顺序二叉树(c语言)(创建,先序遍历)(头歌)

2022-11-08 19:13:44 846

原创 利用队列实现密码加密解密(c++)

【代码】利用队列实现密码加密解密(c++)

2022-10-12 23:22:16 1649

原创 求后缀表达式值(c语言)(链栈)(头歌适用版)

本题在求后缀表达式的结构体的基础上再加了一个int变量,和数字入栈的函数。

2022-10-12 20:22:42 1810

原创 中缀表达式转换为后缀表达式(栈-链栈)(c语言)(头哥适用版)

中缀表达式到后缀表达式的转换方法:初始化一个栈,用于存放运算符,在栈中压人#,#优先级最低。从左到右遍历中缀表达式的每个数字和符号,若是数字,则输出,成为后缀表达式的一部分,若是符号:(1)若是左括号,直接压入栈;(2)若是右括号,则从符号栈弹栈输出,直至弹出左括号(左右括号不输出)(3)如果遇到任何其他的操作符,从栈中弹出元素直到遇到更低优先级的元素(或者栈中只有#)为止。弹出这些元素后,再将遇到的操作符压入到栈中。

2022-10-12 17:07:18 3596 8

原创 火车人数问题——栈与递归(c语言)(顺序栈)(头哥适用版)

问题描述: 火车从始发站(称为第1站)开出,在始发站上车的人数为a,然后到达第2站,在第2站有人上、下车,但上、下车的人数相同,因此在第2站开出时(即在到达第3站之前)车上的人数保持为a人。从第3站起(包括第3站)上、下车的人数有一定规律:上车的人数都是上两站上车人数之和,而下车人数等于上一站上车人数,一直到终点站的前一站(第n-1站),都满足此规律。现给出的条件是:共有n个车站,始发站上车的人数为a,最后一站下车的人数是m(全部下车)。试问x站开出时车上的人数是多少?

2022-10-11 16:39:15 1053 1

原创 一元多项式的加减乘--链表实现(C语言)

利用链表实现一元多项式的加减乘,本次实验采用的头文件与源文件分离的方式。本篇文章将只截取函数与主函数,对于头文件与源文件的用法自行查询。

2022-10-05 19:04:56 1510

原创 学生信息管理系统(头哥适用版)(c语言)

考试报名工作给各高校报名工作带来了新的挑战,给教务管理部门增加了很大的工作量,报名数据手工录入既费时又会不可避免地出现错误。本项目是对考试报名管理的简单模拟,包括以下功能: 1.报名,输入考生信息:学号,姓名,报名科目;2.列出全部报名信息:输出学号,姓名,报名科目;3.查询某个科目的考生信息或者查询某个学号、姓名的报名信息;4.修改信息:修改报名科目;5.取消报名:删除某个考生的报名信息;6.统计每个科目的报名人数。

2022-09-28 21:29:23 868

原创 c语言实现约瑟夫双向生死游戏(附有详细代码)

约瑟夫双向生死游戏是在约瑟夫生者死者游戏的基础上,正向计数后反向计数,然后再正向计数... 具体描述如下:30个旅客同乘一条船,因为严重超载,加上风高浪大,危险万分;因此船长告诉乘客,只有将全船一半的旅客投入海中,其余人才能幸免遇难。无奈,大家只得同意这种办法,并议定30个人围成一圈,由第一个人开始,顺时针依次报数,数到第9人,便把他投入大海中,然后从他的下一个人数起,逆时针数到第5人,将他投入大海,然后从他逆时针的下一个人数起,顺时针数到第9人,再将他投入大海,如此循环,直到剩下15个乘客为止。

2022-09-27 21:06:20 2955

原创 c语言实现约瑟夫生者死者游戏(附有详细代码)

约瑟夫生者死者游戏的大意是:30个旅客同乘一条船,因为严重超载,加上风高浪大,危险万分;无奈,大家只得同意这种办法,并议定30个人围成一圈,由第一个人开始,依次报数,数到第9人,便把他投入大海中,然后从他的下一个人数起,数到第9人,再将他投入大海,如此循环,直到剩下15个乘客为止。问哪些位置是将被扔下大海的位置。本游戏的数学建模如下:假设n个旅客排成一个环形,依次顺序编号1,2,…从某个指定的编号开始,沿环计数,每数到第m个人就让其出列,且从下一个人开始重新计数,继续进行下去。

2022-09-26 22:01:52 2150 1

微机原理大作业-电子时钟.zip

用到8253,8255,8259,内涵程序和报告

2023-02-14

微机原理大作业-跑马灯.zip

用到8253,8255,8259,内涵程序和报告

2023-02-14

空空如也

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

TA关注的人

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