循环链表


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!");
}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值