自定义博客皮肤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)
  • 收藏
  • 关注

原创 【无标题】

【代码】【无标题】

2023-05-10 23:33:14 220

原创 【无标题】

小哈一个人去走迷宫。但是方向感很不好的小哈迷路了,小哼得知后便立即去解救无助的小哈,现在小哼要以最快的速度去解救小哈。迷宫有n行m列的单元格组成,你的任务是帮助小哼找到一条从迷宫的起点通往小哈的位置的最短路径。注意障碍物是不能走的。

2023-05-09 23:00:34 70

原创 【无标题】

深度优先搜素(Depth First Search,DFS),DFS的关键在于解决“当下该如何做”。至于“下一步如何做”与“当下如何做”是一样的,比如我们这里写的dfs(step)函数的主要功能是解决当你在第step个盒子的时候你该怎么办。通常的办法就是把每一种可能都去尝试一遍(一般使用for循环来遍历)。当前这一步解决后便进入下一步dfs(step+1)。下一步的解决方法和当前这步的解决方法是完全一样的。下面的代码就是深度优先搜素的基本模型。

2023-05-08 23:37:15 62

原创 【无标题】

首先需要用一个二维字符数组来存储这个地图,至于将炸弹放置在哪一个点可以消灭的敌人最多,则需要一个个地来尝试。炸弹的爆炸方向是沿上下左右四个方向,因此我们在对每个点进行枚举的时候,需要沿着上下左右四个方向分别统计可以消灭敌人的数目。小哼有n根火柴棍,希望拼出形如A+B=C的等式。现在小哼手上有m根火柴棍,那么小哼可以拼出多少个不同的形如A+B=C的等式?既然要找出形如A+B=C这样的等式,则最简单的办法就是分别枚举A、B、C。=B,则A+B=C与B+A=C视为不同的等式。1.加号与等号各自需要两根火柴棍。

2023-05-07 22:16:13 51

原创 【无标题】

小哼和小哈约在一起玩桌游,游戏的规则是这样的:将一副扑克牌平均分成两份,每人拿一份。小哼先拿出手中的第一张扑克牌放在桌上,然后小哈也拿出手中的第一张扑克牌,并放在小哼刚打出的扑克牌的上面,交替出牌。出牌时,如果某人打出的牌与桌上某张牌的牌面相同,即可两张相同的牌及其中间所夹得牌全部取走,并依次放到自己手中牌得末尾。

2023-05-04 23:16:00 30

原创 二叉树遍历算法的运用和线索二叉树

复制二叉树复制二叉树就是利用已有的一颗二叉树复制到另外一颗与其完全相同的二叉树。算法步骤:如果是空树,递归结束否则,申请新结点空间,复制根结点递归复制左子树递归复制右子树。

2023-04-29 00:14:03 52

原创 树和二叉树1.2

完全二叉树:深度为k的,有n个结点的二叉树,当且仅当其每一个结点都与深度为k的满二叉树中编号从1至n的结点一一对应时,称之为完全二叉树。满二叉树:深度为k且含有2^k-1个结点的二叉树,它的特点是每一层上的结点数都是最大结点数,即每一层i的结点树都具有最大值2^(i-1)。2.对任一结点,若其右分支下的子孙的最大层次为l,则其左分支下的子孙的最大层次必为l或l+1.性质4:具有n个结点的完全二叉树的深度为不大于以2为底的对数n+1.性质1:在二叉树的第i层上至多有2^(i-1)个结点。

2023-04-28 01:26:16 25

原创 树和二叉树1.1

树是n个结点的有限集,它或为空树(n=0),或为非空树。对于非空树:(1)有且仅有一个称之为根的结点(2)除根结点以外的其余结点可分为m个互不相交的有限集T1.T2,T3....,Tm,其中每一个集合本身又是一颗树,并且称为根的子树。树的结构定义是一个递归的定义。

2023-04-27 00:32:01 23

原创 【无标题】

今天写了在文件中录入菜品信息,录入用户信息,录入餐桌信息和添加菜品信息。

2023-04-23 01:31:59 28

原创 【无标题】

今天写了自主点餐的添加菜品和删除菜品。

2023-04-21 01:59:13 36

原创 【无标题】

每个被使用的文件,都在内存中开辟了一个相应的文件信息区,用来存放文件的相关信息(如:文件名,文件状态,文件位置等),这些信息被保存到一个结构体中,系统为其声明为FILE,每当打开一个文件的时候,系统就会根据情况自动创建一个FILE结构的变量,并且通过FILE*的指针来维护这个结构。文件是以硬盘为载体存储在计算机上的信息集合,将数据放入文件,相比代码程序中堆栈上的数据,其优点在于可以随时做到需要时添加,舍弃时删除,数据可以持久化。今天课程设计时学习了文件的操作。还没有学完~明天再接再厉。

2023-04-20 00:53:33 29

原创 【无标题】

它是用来清空控制台屏幕的命令,它可以将控制台屏幕上的所有内容清空,使得屏幕上只剩下一个空白的命令行提示符。0=黑色,1=蓝色,2=绿色,3=湖蓝色,4=红色,5=紫色,6=黄色,7=白色,8=灰色,9=淡蓝色,A=淡绿色,B=淡浅绿色,C=淡红色,D=淡紫色,E=淡黄色,F=亮白色。如果用ch=getch(),在等待你按下任意键后,把该字符所对应的ASCII码赋给ch,再执行下面的语句。冻结屏幕的作用,一般用来避免循环调用出错,而造成无限输出的结果的时候。头文件为#include<conio.h>

2023-04-19 00:43:30 28

原创 【无标题】

王小甜给出了n个非负整数,分别记为第1个数字至第n个数字,然后她会提出q个问题,询问你第f个数到第t个数之间所有数字的和,请你帮助果果正确回答王小甜的所有提问,否则你将会永远也见不到果果。你的好朋友果果受邀参加了这个节目,主持人王小甜给她放了点水,问了一些同寻常的问题,果果知道问题的答案,但是她想借机考验一下你对她的友谊有多深,所以想让你替她回答这些问题。王小甜是开心问答节目的金牌主持人,她特别喜欢问一些不同寻常的问题,回答不出来的嘉宾将会受到严厉的惩罚。第二行包含n个非负整数,每个数字均不超过10^9;

2023-04-16 23:00:14 41

原创 memset函数

memset函数是按照字节对内存块进行初始化,所以不能用它将int数组除初始化为0和-1以外的其他值(除非该值高字节和低字节相同)。其实c的实际范围在0-255,因为memset函数只能取c的后八位给所输入范围的每个字节。当然,直接选择用for循环或while循环来进行初始化也是可以的,只不过memset更快捷一点。作用是将某一块内存中的内容全部设置为指定的值,这个函数通常为新申请的内存做初始化工作。数组a 是整型的,整型占据的内存大小为4Byte,而memset函数还是按照字节为单位进行赋值。

2023-04-15 01:25:37 112

原创 解密QQ号——队列

将一串加密的数“631758924”进行解密,即将第一个数删除,紧接着将第二个数放到这串数的末尾,再将第三个数删除并将第四个数放到这串数的末尾,直到剩下最后一个数,将最后一个数也删除,按照删除的顺序,把这些删除的数连在一起输出。这里引入了两个整型变量front和rear ,分别代表队头和队尾。当队头删除一个数时的操作为front++;在队尾新增一个数时的操作为q[rear]=x;队列是一种特殊的线性结构,它只允许在队列的首部进行删除,称为“出队”,而在队列的尾部进行插入,称为“入队”。

2023-04-14 00:12:26 75

原创 排序2——

每次排序的时候设置一个基准点,将小于等于基准点的数全部放到基准点的左边,将大于等于基准点的数全部放到基准点的右边。但在最坏的情况下,仍可能是相邻的两个数进行交换,因此快速排序的最差时间复杂度和冒泡排序是一样的,都是O(N^2),它的平均时间复杂度为O(NlogN)。小哼需要去掉其中重复的ISBN号,即每个ISBN号从小到大排序,小哼按照排序好的ISBN号去书店买书。我们昨天学习的桶排序和冒泡排序分别存在浪费空间和执行效率较慢的问题,而我们今天学习的快速排序很好的解决了这些问题。

2023-04-12 21:38:19 32

原创 排序1——

而每一趟操作都需要从第一位开始进行相邻两个数的比较,将较小的一个数放在后面,比较完毕后向后挪一位继续比较下面两个相邻数的大小,重复此步骤,直到最后一个尚未归位的数,已经归位的数则无需再进行比较。我们运用第一节的知识并不能解决将huhu 5分,haha 3分,xixi 5分,hengheng2分,gaoshou8分,按照分数从高到低,输出他们的名字。这个算法就好比有11个桶,编号从0-10.每出现一个数,就在对应编号的桶中放一个小旗子,最后数数每个桶中有几个小旗子就可以了。一.最快最简单的排序——桶排序。

2023-04-12 00:13:33 29

原创 判断括号是否匹配

2)遇到”)“,”}“,”]“,先判断栈是否为空,如果为空,记为flag=0,结束扫描字符串(说明这个右括号找不到对应的左括号,不匹配);如果栈不为空,则弹出第一个栈顶元素与之比较,相等记flag=1,不相等记flag=0,结束扫描字符串(已经不匹配不需要扫描剩下的字符)if(ch[i]=='('||ch[i]=='['||ch[i]=='{') pushlink(S,ch[i]);else if(ch[i]==')'||ch[i]==']'||ch[i]=='}'){ //右括号出栈。

2023-04-11 00:27:25 121

原创 bool函数

布尔型(bool)变量的值只有真(true)和假(false).布尔型变量可用于逻辑表达式,也就是“或”,“与”,“非”之类的逻辑运算和大小小于之类的关系运算,逻辑表达式运算结果为真或为假。if(leap==1),if(leap==true)和if(leap)三种表述方式的效果都一样。其中true 和false 分别代表1和0,非零的赋值自动为1。有些编译系统中应改为#include<iostream>### bool变量的使用(赋值,头文件)今天写题遇到了bool ,了解一下~

2023-04-10 00:17:38 3615

原创 解密回文——栈

通过栈来判断一个字符串是否为回文。例如:“xyzyx"是一个回文字符串,所谓回文字符串就是指正读反读均相同的字符序列,如”席主席“,”记书记“。算法》里的解密回文——栈,栈是一种后进先出的数据结构,栈限定为只能在一端进行插入和删除操作。栈还可以用来进行验证括号的匹配。

2023-04-09 01:18:22 117

原创 ## 九进制转换成十进制

要将九进制数转换成十进制数,其底数均为9,对于整数部分,应该逆向排列最低的指数等于0,继续向左,对应的指数会增大,排位最高的最大;对于小数部分,紧靠小数点的,其指数为-1,再往右,相应的指数为逐渐减小。然后将每位所转换成的十进制相加,即为整个九进制转换成十进制的数。九进制含有0,1,2,3,4,5,6,7,8共九个数字,满九进一。九进制正整数(2020)9 转换成十进制等于多少?## 九进制转换成十进制。

2023-04-07 21:04:25 1050 1

原创 有关线段树

如上图,将1修改成5,在线段树里我们应该怎么操作呢?我们要修改的这个数据的下标为2,那么我们就从根节点开始找,它的左儿子[1,2]包含了2,那么就搜素它的左儿子,然后在搜索二儿子的左节点1,不是,就搜素右节点,是2,于是把下标为2的数据1改成5,然后再更新,改为8,再改为14.

2023-04-06 22:45:22 63 1

原创 对于链表的总结

链表和数组一样同属于线性表,即一种线性存储结构,它可分为两种,即顺序存储结构和链式存储结构,前者其特点是逻辑关系上相邻的两个元素在物理上也相邻,而链表是一种物理存储上非连续,数据元素的逻辑顺序通过链表中的指针链接次序,实现的一种线性存储结构。=e){//顺链域向后查找,直到p为空域或p所指结点的数据域为e。//结点的指针域(LNode *定义指向单链表中任意结点的指针变量)=NULL)&&(j<i-1))//查找第i-1个结点,p指向该结点。

2023-04-06 01:51:55 88 3

空空如也

空空如也

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

TA关注的人

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