package person;
/**
*
* 列表中有100个人,从第1个开始数数,当数到7或者7的倍数时,
* 则从列表中将该对象移除,数到末尾后又开始从第一个循环开始数
* 直到删除至最后一个人
* @author
*
*/
public class Person {
public Person() {
}
public Person(int pId) {
this.pId = pId;
}
private int pId;
private Person next;
public int getPId() {
return pId;
}
public void setPId(int id) {
pId = id;
}
public Person getNext() {
return next;
}
public void setNext(Person next) {
this.next = next;
}
public static void main(String[] args) {
Person p1 = new Person(1);
Person temp = p1;
for (int i = 1; i < 100; i++) {
temp.setNext(new Person(i + 1));
temp = temp.getNext();
}
temp.setNext(p1);
temp = p1;
Person forDelete = p1.getNext();
int i = 2;
while (temp != forDelete) {
if (i % 7 == 0) {
temp.setNext(forDelete.getNext());
System.out.println(forDelete.getPId() + " has bean deleted!");
} else {
temp = temp.getNext();
}
forDelete = forDelete.getNext();
i++;
}
System.out.println(forDelete.getPId() + " has bean deleted!");
}
}
循环链表
最新推荐文章于 2022-08-13 19:51:51 发布