约瑟夫斯环算法(循环链表)
来源:互联网 发布:银行业数据治理 编辑:程序博客网 时间:2024/05/16 05:26
1、数学算法,很强,至少我还没理解,也没必要去理解
int fun(int n, int m)
{
int i, r = 0;
for (i = 2; i <= n; i++)
r = (r + m) % i;
return r+1;
}
2、java实现(我实现的是13个人取第3个人)
public static void main(String[] args) {
int n = 13;
int m = 3;
int point = 0;//指针
int number = 1;//计数器
ArrayList list = new ArrayList();
for (int i = 1; i <= n; i++) {
// 初始化链表
list.add(new Integer(i));
}
while (list.size() > 1) {
if (number % m == 0) {
list.remove(point);
point--;//如果有删除,指针指向前一个元素,可理解为没有做过删除
}
point++;// 指针后移
number++;//计数器累加
if (point > list.size()-1 ) {
// 指针越界重新开始
point = 0;
}
}
System.out.println(list.get(0));
}
- 约瑟夫斯环算法(循环链表)
- 约瑟夫环算法(循环链表解决)
- 算法-循环链表[约瑟夫问题]
- 循环链表 约瑟夫环
- 约瑟夫环 - 循环链表
- 循环链表---约瑟夫环
- 循环链表-约瑟夫环
- 约瑟夫环循环链表
- 约瑟夫循环链表
- 约瑟夫环的循环链表实现
- 约瑟夫环(循环链表)
- 循环链表实现约瑟夫环
- 不使用循环链表,约瑟夫环
- 循环链表实现约瑟夫环
- 循环链表实现 约瑟夫环
- 循环链表应用---约瑟夫环
- 单向循环链表--约瑟夫环
- 循环链表实现约瑟夫环
- Symbian OS C++学习
- 里面有些电视配曲(第二个开始)
- 开篇!
- 全局变量的处理
- 转载:JS实时显示系统时间
- 约瑟夫斯环算法(循环链表)
- 要注意身体啊
- CSS实现中间删除线效果
- 无奈的人生
- fork()系统调用使用事例
- 查出普通价与会员价之间差价最大的商品
- 我的博客
- 南航率先启用“手机登机”
- C++读写EXCEL文件方式比较