链表-M-Josephus
来源:互联网 发布:sql if else语句格式 编辑:程序博客网 时间:2024/05/29 18:24
package e_link.L_Josephus;
public class Link {
public int iData;
public Link next;
public Link previous;
public Link(int iData) {
this.iData = iData;
}
public void displayLink() {
System.out.print(iData + " ");
}
}package e_link.L_Josephus;
public class LinkList {
Link current;
Link previous;
Link first;
Link last;
public LinkList() {
current = null;
previous = null;
first = null;
last = null;
}
public void insertFirst(int k) {
Link newLink = new Link(k);
if (isEmpty())
last = newLink;
else
first.previous = newLink;
newLink.next = first;
first = newLink;
last.next = first;
}
public void reset() {
current = first;
previous = last;
}
/**
* 下一个节点
*/
public void nextLink() {
previous = current;
current = current.next;
}
/**
* 获取当前节点
*
* @return
*/
public Link getCurrent() {
return current;
}
/**
* 删除当前节点
*
* @current 为末尾的话,reset(),否current为删除后一个节点
*/
public int deleteCurrent() {
int temp = current.iData;
previous = current;
current = previous;
return temp;
}
public void displayForward() {
Link current = first;
current.displayLink();
while (current != null) {
current.displayLink();
current = current.next;
}
System.out.println();
}
public boolean isEmpty() {
return first == null;
}
}
public class Link {
public int iData;
public Link next;
public Link previous;
public Link(int iData) {
this.iData = iData;
}
public void displayLink() {
System.out.print(iData + " ");
}
}package e_link.L_Josephus;
public class LinkList {
Link current;
Link previous;
Link first;
Link last;
public LinkList() {
current = null;
previous = null;
first = null;
last = null;
}
public void insertFirst(int k) {
Link newLink = new Link(k);
if (isEmpty())
last = newLink;
else
first.previous = newLink;
newLink.next = first;
first = newLink;
last.next = first;
}
public void reset() {
current = first;
previous = last;
}
/**
* 下一个节点
*/
public void nextLink() {
previous = current;
current = current.next;
}
/**
* 获取当前节点
*
* @return
*/
public Link getCurrent() {
return current;
}
/**
* 删除当前节点
*
* @current 为末尾的话,reset(),否current为删除后一个节点
*/
public int deleteCurrent() {
int temp = current.iData;
previous = current;
current = previous;
return temp;
}
public void displayForward() {
Link current = first;
current.displayLink();
while (current != null) {
current.displayLink();
current = current.next;
}
System.out.println();
}
public boolean isEmpty() {
return first == null;
}
}
0 0
- 链表-M-Josephus
- 数m个数退出,JosePhus问题
- 数m个数退出,JosePhus问题
- Josephus Ring(链表)
- josephus
- Josephus
- Josephus
- [链表]约瑟夫环问题 Josephus
- 【链表】单链表循环解决Josephus问题
- 用c语言实现数据结构中经典程序:Josephus-链表
- Josephus问题
- Josephus问题
- Josephus问题
- Josephus问题
- Josephus problem
- josephus 问题
- Josephus问题
- Josephus问题
- 链表-L-循环链表
- 基于机器学习的网络异常流量识别系统——工具篇
- 504. Base 7
- SpringMVC入门之六:使用Thymeleaf作为视图
- 指针和引用的区别
- 链表-M-Josephus
- 历届试题 兰顿蚂蚁
- 使用Nginx的X-Sendfile机制提升PHP文件下载性能
- Lua与.net的CLR相互调用
- 算术表达式串的求值代码
- 递归-A-三角数字
- hdu 1263 结构体排序
- 递归-B-变位字:排列所有组合
- C#从入门到精通 C#程序的结构 代码书写规则 命名规范