- 博客(31)
- 资源 (4)
- 收藏
- 关注
原创 5338: 数据结构实验:创建单链表
根据PrintLinkList可以看出结构体Node中的成员{int data , struct Node next}可以推测是用于生成链表,那么n就是链表总数,返回值为链表Node的指针,想必是首个链表的(起始)地址。另外需要注意一点,Node前面没有写struct,说明我们要用到另一个保留字“typedef”在main函数中有一个CreateLinkList(n)其中Data是输入的数据(案例中为1 2 3)next是下一个结构体的(起始)地址。
2022-11-26 14:16:55
462
原创 1741: 通讯录编排
字典排序(lexicographical order)是一种对于随机变量形成序列的排序方法。其方法是,按照字母顺序,或者数字小大顺序,由小到大的形成序列。比较麻烦的可能是这个比较字符串的值(因为我们通常比较的是字符的,字符串怎么比啊)对于字符串,就是先比较第一个字符,再比较第二个…如果一样就看长度,短的放前面。里面这个一大堆if以前可以只写成一行,不过为了提高阅读性。按照题目的描述,可以把我们需要的功能分成几个部分。另外结构体里的数组要定义大小,不然会报错。对于数字,按大小排序。
2022-11-26 11:13:18
591
原创 5350: C实验:打印数组各行的和
需要注意:这里的a跨度为20,而不是m的原因,是因为在main函数的设计中,a数组的每行长度固定为20了。PrintSum里给的三个参数分别是(第一行的起始地址,最后一行的起始地址,每行的数据长度)所以只需要写个循环,让指针从第一行跑到最后一行。题意大致就是把每行的数加在一起求和。
2022-11-22 14:30:00
572
原创 1483: C语言实验题――汉诺塔
当然,如果你们用他的代码跑不出来,那是因为他是从A移动到B,而我们题目要求是从A移动到C。顺便把我写的从A移动到C的代码放在这,理解不了的可以对比着看一下。想到这题用递归的是不是天才我不知道,反正肯定比我厉害。很难的一题,我拿着指针做了半天,没找到规律。(所以没好意思给这篇博客标明原创)
2022-11-15 20:33:08
850
原创 1245: 寻找素数对
如果说n/2是素数对中的一个其中一个素数的话,又考虑到n必为偶数,那另一个数必须是n/2本身,这样n/2+n/2才能等于n。但两个素数应该不能相同才对。(但从i
2022-11-15 15:58:29
512
1
原创 1423: 数塔
我原先还担心a[100][100]这种数组生成会占用过多内存,但一个int才2字节,10000个int也就20000字节(20000B),即20KB。所谓DP算法,就是“将需要重复计算的问题保存起来,不需要下次重新计算”,比起递归的算法复杂度要低很多。没看清要动态规划,写了个递归,然后还发现c语言居然不能返回数组。最后借其他同学的代码看了看,写的很好(所以我就不自己写了,哈哈哈哈)这题说是个DP算法,我就跑去查了一下。
2022-11-08 13:10:24
345
原创 1163: 统计1到N之间数字1的个数
如果只将题目逻辑写成代码,当N=10000和N=10001的时候,程序还需要计算两次,非常冗余。所以我们设计的程序可以换一种思路:提前算好。考虑到题目没有限定输入数据的组数,因此可能会输入很多数据。
2022-10-25 14:16:48
1472
7
原创 1386: 十转换转R进制
然后写循环内的代码,考虑N为负数或者为零的特殊情况。先把0-F存进字符数组c[16]到这里要提一下,其实题目里说的。其实是指32位2进制。
2022-10-18 11:27:15
627
原创 0000:C语言——帮DW选择高跟鞋
首先说明,这题在台州学院ACM平台上没找到,所以我给它标号0000(台州学院平台的题目计数是从1001开始的)。至于为什么要放上来,因为问我的同学希望不使用数组来解决这道题目。所以我觉得设计代码的思路可以拿来分享一下。
2022-10-18 09:59:18
531
原创 1480: C语言实验题――约瑟夫问题
这个约瑟夫问题解法其实蛮多的,最省脑子的一种就是把计算逻辑原封不动的用代码写出来。然后对两个数组划分为存活区和死亡区(1和0),这一步是省略循环次数的关键。每次淘汰玩家时,就将玩家编号和状态向后移动,直到移动到死亡区(即。来到死亡区,就退出循环重新开始,但用于计数的count不变。用来标记玩家的状态,即(1、表示在场内,0、表示被淘汰)遭遇滑铁卢,这题害得我平台AC的打卡断了一天。想了半天没想到解决方案,于是今天换了个思路。我在原基础上多了个数组。然后将原本存储玩家信息的。先说结果:超时了 :(
2022-10-18 09:45:45
1127
2
原创 1169: C语言实验题――保留整数
因此当输入涉及到空格,而你又需要整行输入时,可以使用。scanf函数会在读入空格时暂停。这种办法,会在读入换行符时结束。
2022-10-16 15:37:11
1147
原创 1168: C语言实验题――最值
输入输出样例输入样例输出没什么好说的,提个陷阱。当输入如下:最大值在第0位,最小值在最后一位时。如果你的程序设计是:就会出现WA,因为交换两次后输出,数组顺序不对。因此我的代码思路是这样就不会出错了。参考代码:
2022-10-16 15:12:13
1204
原创 1075: 两数组最短距离
m和n的最大值为1000,即数组最大为1000个。这里我考虑将两个数组f和g合并,并做上标记。如果用笨办法写嵌套循环的话,循环次数过多。因此可以考虑加入一些条件来减少比较的次数。这样,再循环时,只需要判断。就能找到需要判断的数。
2022-10-16 14:53:43
551
原创 1458: C语言实验题――数组逆序2
这如果是在python中可以用join函数连接,但c语言不知道有没有这个函数。因为是移动数组后面m位,那么可以采用先输出后m位,再输出前n-m位的方法。另外需要考虑到本题数字之间的空格,最后一个数不能带空格。所以我采用了和水仙花数输出一样的方法,题目的突破点在于找到。
2022-10-15 17:05:41
637
原创 1374: 素数判定
因此可以先把这范围内n*n+n+41是否为素数提前判断完,以免后续每次都要运算,浪费时间。观察题目,会发现需要判断的n范围只有-39到50。
2022-10-15 16:39:23
503
原创 1455: C语言实验题――数字串求和
当然这里也可以考虑用do while来写,就能把代码块{}中的n–省略掉,放进while里。自减很容易就把自己绕进去了。其实考虑把一些模块封装成函数,会更简便一点。但是考虑到学到循环的人可能还没有学函数,所以就没这么写。修改方法读者可以自己练习一下,我就不放出来了。实现n个a的做法就是用循环,写成。这代码写的我真头大。
2022-10-15 15:58:45
534
原创 1457: C语言实验题――求一个3*3矩阵对角线元素之和
另外可以发现,当使用a=9,while(a–){}的循环,scanf输入为我们需要的数字时,a的值为8,4,0。本题中,除了正对角线以外的所有参数都是没用的。所以在输入时可以直接去掉。
2022-10-15 12:49:41
1000
原创 1476: C语言实验题――圆周率
不过遇到了个小问题,把pi+=后面的计算化简之后,就WA了。因为计算顺序并不影响结果,而且代码更简洁。我的代码是逆序计算,从n到1这样子的。
2022-10-14 20:46:52
704
3
原创 1456: C语言实验题――拍皮球
优化算法时,考虑到除了第一次以外,每次运动都是(弹起和回落)两个过程。因此可以省略第一次循环。另外还要考虑输出时的换行,不然会报PE。问:起始高度为h时,第n次落地时的。条件:球每次落地后弹起高度为。
2022-10-14 20:04:52
767
原创 1175: C语言实验题――时间间隔
比较特殊的是,变量用的比较少(其实也可以一边转换一边输入,内存占用会更低。)算法上没什么稀奇的。思路是把两个时间转换成秒制,然后大减小,再转换回来。
2022-10-14 19:30:33
1276
原创 docker搭建网桥与节点互联
docker搭建网桥与节点互联1.搭建虚拟网桥什么是虚拟网桥搭建流程启动/进入/关闭/删除容器节点互联参考1.搭建虚拟网桥什么是虚拟网桥在创建容器时,可以通过-network选项指定容器的网络类型(模式)None — 不为容器进行任何网络配置,容器不能访问外部网络,内部存在回路地址。Container — 将容器的网络栈合并到一起,可与其他容器共享IP地址和端口范围等。Host — 与主机共享网络。Bridge — 默认网络模式,通过主机和容器的端口映射(iptable转发)来通信。桥接是
2021-11-19 11:50:57
888
原创 Docker制作base镜像
制作base镜像从Docker-Hub拉取最新Ubuntu镜像制作新的镜像导出容器成一个新的镜像一些容器操作练习(选做)docker可以从一个镜像生成多个容器,因此可以提前在镜像中安装好JDK,并配置ssh,以及安装一些新的库,给后续的安装节省时间。从Docker-Hub拉取最新Ubuntu镜像Linux和Windows的终端不同,但Docker命令相同,以下统称终端。docker pull ubuntu:latest这个命令会直接拉取ubuntu的镜像,如果速度很慢的话,可以考虑给Docke
2021-11-01 22:54:24
994
原创 Windows10下安装Docker
Hyper-VHyper-V 是微软开发的虚拟机,类似于 VMWare 或 VirtualBox,仅适用于 Windows 10。这是 Docker Desktop for Windows 所使用的虚拟机。但是,这个虚拟机一旦启用,QEMU、VirtualBox 或 VMWare Workstation 15 及以下版本将无法使用!如果你必须在电脑上使用其他虚拟机(例如开发 Android 应用必须使用的模拟器),请不要使用 Hyper-V!注意:Hyper-V 作为可选功能内置于 Wind
2021-11-01 19:52:56
646
原创 基于Docker的Hadoop全体系架构入门指南
基于Docker的Hadoop全体系架构入门指南前言目录涉及软件及其版本(下载)前言开个大坑。大数据架构涉及到很多软件的安装和配置,单机的配置和安装比较简单,但往往还要学习伪分布式/分布式。如果用VMware或者VituralBox之类创建虚拟机,不仅太占用计算机资源,而且维护也麻烦。但Docker基于LXC的轻量级虚拟化,相比之下启动快,且资源占用小,更适合用来模拟大数据的架构。还有就是目前网络上很难找到成体系的环境搭建流程,有时候可能照着这个教材搭好了HadoopHA,想配置Hive的时候,找到
2021-10-26 18:33:48
871
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人