数据结构与算法
记录打怪日记和学习的数据结构
伪科学微笑
这个作者很懒,什么都没留下…
展开
-
约瑟夫环问题的一般性解答
注:本代码仅供参考,如果发生学术问题博主概不负责。 题目: N个人围成一圈,从第S个开始报数,每隔第M个将被杀掉,最后剩下X个,其余人都将被杀掉。例如N=6,S=1,M=5,被杀掉的人的序号为5,4,6,2,3,最后剩下1号。 要求:这道题博主是在学习循环链表时遇到的,所以除了循环链表,其他方法就不展示了。 设计思路: 1.创建链表 2.节点删除 3.链表遍历输出 4.释放内存 解释:采用循环链表的变式解决问题,首先通过建立一个头部为哑节点(头部不存数据)的链表,然后将链表的尾结点的指针域指向头节点.原创 2021-11-03 17:05:35 · 206 阅读 · 0 评论 -
链表基础:问题 D: 实验11_13_链表交换
1.题目描述 已知一个正整数序列,序列元素个数未知,但至少有两个元素,你的任务是建立一个单链表用于存储这个正整数序列。然后实现交换此链表中任意指定的两段,第一段为[s1,t1],第二段[s2,t2]。s1、t1、s2、t2代表链表的第几个节点,且满足s1<=t1,s2<=t2,t1<s2,s2一定小于等于链表节点的总个数。正整数的输入用-1作为结束标志,注意-1不算这个正整数序列中的元素(不要统计-1)。最后将链表的全部节点释放。 2.输入 输入一个正整数序列,以输入“-1”结束,序列中元原创 2021-04-07 16:04:22 · 516 阅读 · 0 评论