package LinkList;
class Node3{
int data;
Node3 next;
public Node3(int data) {
this.data=data;
this.next=null;
}
}
public class CircleLink {
public Node3 first;
public Node3 last;
public boolean isEmpty() {
return first==null;
}
public void print() {
Node3 current=first;
while(current!=null) {
System.out.println("["+current.data+"]");
current=current.next;
}
System.out.println();
}
public void insert(Node3 prt) {
Node3 temp;
Node3 newNode;
if(this.isEmpty()) {
first=prt;
last=prt;
last.next=first;
}else if(prt.next==null) {
last.next=prt;
last=prt;
last.next=first;
}else {
newNode=first;
temp=first;
while(newNode.next!=prt.next) {
if(temp.next==first)
break;
temp=newNode;
newNode=newNode.next;
}
temp.next=prt;
prt.next=newNode;
}
}
public void delete(Node3 delNode) {
Node3 newNode;
Node3 temp;
if(this.isEmpty()) {
System.out.println("环形链表为空");
}
if(first.data==delNode.data) {
first=first.next;
if(first==null) System.out.println("环形链表为空");
return;
}
else if(last.data==delNode.data) {
newNode=first;
while(newNode.next!=last) newNode=newNode.next;
newNode.next=last.next;
last=newNode;
last.next=first;
}
else {
newNode=first;
temp=first;
while(newNode.data!=delNode.data) {
temp=newNode;
newNode=newNode.next;
}
temp.next=delNode.next;
}
}
}
06-13
1895