package com;
import java.util.ArrayList;
import java.util.List;
@SuppressWarnings("unchecked")
public class Yuesefu {
public static void main(String[] args) {
List oldlist = new ArrayList();
for (int i = 1; i <= 10; i++) {
oldlist.add(i);
}
List newlist = new Yuesefu().yue2(oldlist, 3);
for (Object t : newlist) {
System.out.println((Integer) t);
}
}
public List yue2(List oldlist, int k) {
List newlist = new ArrayList();
int index = -1;
while (oldlist.size() > 0) {
// 执行删除添加操作
index = index + k;
if (index >= oldlist.size()) {
index = index % oldlist.size();
}
Integer temp = (Integer) oldlist.get(index);
oldlist.remove(index);
index -= 1;
newlist.add(temp);
}
return newlist;
}
}
分享到:
相关推荐
在Unity中解决约瑟夫环问题,主要涉及到以下几个关键知识点: 1. **脚本编程**:Unity使用C#作为主要的编程语言,因此我们需要编写C#脚本来实现约瑟夫环的逻辑。这包括创建一个类来表示参与报数的人,并设置属性如...
在提供的压缩包文件"约瑟夫环一"中,可能包含了实现这个解决方案的源代码示例,包括创建链表、报数和删除节点的详细步骤。通过阅读和理解这些代码,你可以更深入地掌握C#中的链表操作和约瑟夫问题的解法。
约瑟夫环问题可以通过循环链表(Circular Linked List)的数据结构来进行高效的解决。在C++环境下,可以使用自定义节点类和链表类来构建循环链表,并实现相应的插入、删除和遍历操作。具体步骤包括: 1. **初始化...
单链表解决约瑟夫环问题
总之,约瑟夫环MFC窗体版是将经典算法与实际开发环境相结合的一个实例,通过这一实践,开发者不仅能理解约瑟夫环问题的解决方案,还能深入掌握MFC框架在构建用户界面和处理用户输入方面的应用。这对于提升编程能力和...
多种方法解决约瑟夫环问题,1.顺序表2.循环链表3.循环队列4.普通一位数组
用vector解决约瑟夫环
总的来说,"数据结构约瑟夫环实习报告"将涵盖约瑟夫环问题的理论分析,解决方案的设计,以及源代码的实现和解释。这份报告将帮助读者深入理解数据结构的运用,提高他们解决实际问题的能力。通过阅读和分析My_Joseph....
【约瑟夫环模拟器基于MFC的实现】 约瑟夫环问题,源自古罗马的一则历史传说,是一个经典的计算机科学问题,它涉及到循环链表和递归算法。在这个问题中,人们围成一个圈,从某个人开始按顺序报数,每次数到特定数字...
解决约瑟夫环问题有多种方法,包括递归算法、链表操作、位运算以及动态规划等。其中,动态规划是一种比较高效的解决方案。我们可以用一个数组dp[i]表示当剩下i个人时,最后幸存者的初始编号。状态转移方程可以这样...
用循环队列解决约瑟夫环问题减少用顺序表在出对是循环移动带来的空间复杂度
通过这样的界面,用户不仅可以验证已知的约瑟夫环解决方案,还可以探索新的问题变体,比如多人同时被剔除的情况,或者考虑其他规则。这不仅锻炼了用户的逻辑思维能力,也加深了对递归、循环和数据结构等计算机科学...
这个代码示例展示了如何利用链表来解决约瑟夫环问题,通过链表的操作可以方便地进行节点的插入、删除和遍历,这在理解和实现复杂算法时非常有用。同时,它也体现了动态规划和循环数据结构在解决问题中的应用。对于...
约瑟夫环问题,也被称为约瑟夫环序列或约瑟夫问题,是一个著名的理论问题,源自古罗马的传说。该问题的基本设定是:一群囚犯围成一个圈,按照顺时针方向从某个人开始计数,每数到特定数值的人会被剔除出圈,然后从下...
在这个程序中,我们看到一个使用C语言实现的约瑟夫环解决方案。程序主要包括以下几个关键部分: 1. 定义链表节点结构体 `ListNode`: ```c typedef struct Node{ DataType data; // 存储节点数据 struct Node *...
java解决约瑟夫环问题
约瑟夫环运作如下: 1、一群人围在一起坐成环状(如:N) 2、从某个编号开始报数(如:K) 3、数到某个数(如:M)的时候,此人出列,下一个人重新报数 4、一直循环,直到所有人出列,约瑟夫环结束 例如N=6...
约瑟夫环的解决方案可以采用多种算法实现,常见的有链表、数组、位运算等。例如,可以用一个循环链表表示人,链表节点的下一个节点代表报数后的下一个人,当报数到设定值时,删除该节点,然后移动指针。在MFC中,...