数据结构
超爱喝酸奶丶
这个作者很懒,什么都没留下…
展开
-
八皇后算法(递归)
emmmmmmmmmmm…代码我自己看得懂,等哪天我看不懂了再来研究吧,感觉跟简单QAQ原创 2020-07-21 19:16:10 · 52 阅读 · 0 评论 -
迷宫回溯算法(递归)
使用递归算法实现自动出迷宫首先,创建一个迷宫,1代表墙,0代表可以走的位置(i,j)代表迷宫的起点。(6,5)代表迷宫的终点,如果到达了就返回。否则的话,就判断当前的位置是否为0(是否是可以通行),是的话就置为2,表名这条路已经被我踩过了,相当于脚印,然后就按下,右,上,左的顺序,继续递归,判断是否可以走,直到走带(6,5),如果这个点的上下左右都不可以走的话,就置为3,表名这是个死点,递归实现起来代码不多,但是理解起来比较难,慢慢来吧...原创 2020-07-20 22:18:31 · 385 阅读 · 0 评论 -
栈实现综合计算器
原创 2020-07-16 13:37:42 · 58 阅读 · 0 评论 -
链表实现栈
数组实现栈我用了5分钟然而链表实现栈用了1个小时。。太菜了,感觉脑袋一团浆糊,指针节点指来指去,插来插去烦死了,下面开始介绍1.定义节点,为了方便,我就不设置私有了,全是public1.链式栈,add的作用是记录当前指针指到哪了,maxSize记录了栈的最大数量,head是头节点,头节点是空的,不参与到栈的数目中来,pushval算是一个辅助节点,其实在这里说也说不清楚,具体还是要在代码中体会,因为我的水平比较烂,所以可能有很多冗余,然后可能也有很多不合理的地方,反正毕竟是实现出来了,给自己看看,当原创 2020-07-12 22:49:43 · 738 阅读 · 0 评论 -
数组实现栈
栈是一个先进后出的数据结构,和队列相反首先定义,maxSize,表示当前栈可以存放的数据的个数top表示指针,一开始指向头的前一个也就是-1这个位置接下来代码应该看得到,数组实现非常简单...原创 2020-07-12 21:31:48 · 55 阅读 · 0 评论 -
双向链表
理解了单向链表的话,双向链表其实很好理解1.创建节点2.遍历链表3.添加节点4.修改节点5.删除节点,这里和单向链表不一样的地方是,双向链表可以实现自身删除,不再需要辅助节点来帮助自己删除了...原创 2020-07-11 15:38:25 · 87 阅读 · 0 评论 -
单向环形链表解决约瑟夫问题
什么是约瑟夫问题:据说著名犹太历史学家Josephus有过以下的故事:在罗马人占领乔塔帕特后,39 个犹太人与Josephus及他的朋友躲到一个洞中,39个犹太人决定宁愿死也不要被敌人抓到,于是决定了一个自杀方式,41个人排成一个圆圈,由第1个人开始报数,每报数到第3人该人就必须自杀,然后再由下一个重新报数,直到所有人都自杀身亡为止。然而Josephus 和他的朋友并不想遵从。首先从一个人开始,越过k-2个人(因为第一个人已经被越过),并杀掉第k个人。接着,再越过k-1个人,并杀掉第k个人。这个过程沿着圆原创 2020-07-11 15:17:27 · 142 阅读 · 0 评论 -
单向链表
单向链表在物理上不是连续的,但是在逻辑上是连续的,有关链表的不啰嗦了,自己百度去直接上代码,反正自己看1.定义节点next是指下一个节点,套娃,疯狂套2.定义SingleLinkedList来管理节点在链表中,想找啥必须从头开始遍历,因为在物理上他们是不连续的,每个节点都持有下个节点的地址①添加方法(添加到最后,从屁股进去)头节点我们不要去动他,造一个临时的节点,这个节点和头节点一样,我们动它就行了,逻辑看代码应该很容易明白。算了,啰嗦一下吧,反正写给自己看的。temp.next就是原创 2020-07-09 22:02:51 · 78 阅读 · 0 评论 -
环形队列
顾名思义,环形队列就是可以循环使用的队列,个人认为其中的精髓就是取模,能理解这个基本上和队列差不多注意这里和队列不一样的地方,front和rear都是指向队列的第一个位置而不是-1了front指向的是起始的值,而rear指向的是数据的后面一个位置,这样是为了区分队满和队空代码实现1.创建队列2.判断队空和队满就表明队列满了,环形队列永远要留一个空。(rear+1)%maxsize表明rear前进一格,如果前进一格和front相等了,表明队满了,也就是上述这种情况。为什么要%m原创 2020-07-09 17:29:34 · 1895 阅读 · 1 评论 -
队列
队列的介绍代码实现1.创建操作2.判断是否满是否空当后指针到最后了,即rear=maxsize-1,表示队列已经满了当前指针追上了后指针,即rear=front,表示队列空了3.添加操作4.获取操作5.显示头数据5.显示队列...原创 2020-07-09 16:46:37 · 65 阅读 · 0 评论 -
稀疏sparsearray数组
稀疏数组的列数是固定的,一定只有三列第一列记录的是行的值第二列记录的是列的值第三列记录的是由行列所定位的值第零行所记录的值:本数组一共有多少行,多少列以及有多少个值下面是代码的实现接下来是二维数组转为稀疏数组...原创 2020-07-09 15:50:37 · 140 阅读 · 0 评论