编程随笔
文章平均质量分 56
Paul_learns_creating
如果时间有记忆
展开
-
双向循环链表,C语言实现
排序算法用基础的冒泡排序,基础操作是链表结点交换,这里我使用四个指针变量,简化了编程中可能的复杂逻辑思考, 这四个变量存储两个带交换结点的前一个和后一个结点,交换即使使得这两个结点的前一个和后一个交换。这里注意特殊情况是,待交换结点相邻。通过简化可使得程序精简,这里为了便于理解不做简化。head指针指向虚拟头节点,tail指向虚拟尾结点,这两个结点用于标识头尾。next指针指向后一个结点,prev指向前一个结点。今天某家公司笔试题,遇到了一个双向循环链表。定义双向循环链表的结构如下。原创 2023-12-13 21:10:00 · 460 阅读 · 0 评论 -
飞机大战小游戏项目
部分界面显示文末附可执行程序。这是一个飞机大战小游戏项目。说起这个项目,还要从我大二时候说起,距今已经五年了。"现在再来看这个项目,感触很深。我是自动化专业的,当时没有系统学过计算机专业知识,只是有一门C语言的课,和老师提供的一个在控制台打印字符的函数,使用这两个基础知识,加上当时的热情,手攒(cuan,二声)了一个小游戏。虽然现在看来这些代码有很多不规范的地方。但是我还是能想起那时的喜悦。这个项目运行在windows 32位环境下,作者使用S2019可以正常编译运行该程序。原创 2023-12-08 13:38:13 · 397 阅读 · 0 评论 -
掘金币编程问题随笔
/首先我尝试了暴力解法,即每次要么选择当前位置的金币,更改深度,要么维持当前深度,继续前进。针对时间复杂度高的问题,采用了记忆化搜索,使用dp数组记录状态,避免重复访问。一个玩家从某一村庄出发,开始挖金币。已知,玩家只能向右或者向下走,不能向左走或者向右走。此外,还有一个数组,存储每个金币的深度。然后,我将暴力解法变成了循环实现。将n^2的空间复杂度 变成了 2*n。今天遇到了一个问题,因为好久没刷题了,导致不那么熟悉。例:a = [ 7 , 8 , 2 , 4 , 6],则玩家最多能获得3枚金币。原创 2023-11-30 22:22:19 · 413 阅读 · 0 评论 -
打印二叉树(1)
突然想着怎么打印一颗二叉树,本来想用控制台输出,但是直觉告诉我那太麻烦了,于是我使用了easyx图形库。下面这段程序,首先随机生成一棵节点数为nums的二叉树,然后使用easyx图形库展示出来,开发工具VS2022。原创 2023-10-10 11:12:30 · 68 阅读 · 0 评论