//链结点
public class Link {
public int iData;
public double dData;
public Link next;
public Link(int id,double dd) {
dData=dd;
iData=id;
}
public void displayLink() {
System.out.print("{"+iData+","+dData+"}"+" ");
}
}
public class LinkList {
public Link first;
public LinkList() {
first=null;
}
//是否为空
public boolean isEmpty() {
return first==null;
}
//插入
public void insertFirst(int id,double dd) {
Link newLink=new Link(id,dd);
newLink.next=first;//插入头部,需要将next值为以前的first
first=newLink;//改变frist为现在的插入
}
//删除头部
public Link deleteFirst() {
Link temp=first;
first=first.next;//改变头
return temp;
}
//查找
public Link find(int key) {
Link current=first;
while(current.iData!=key) {
if(current.next!=null) {
current=current.next;
}else {
return null;
}
}
return current;
}
//删除
public Link delete(int key) {
Link current=first;
Link previous=first;
while(current.iData==key) {
if(current.next==null)
return null;
else {
previous=current;
current=current.next;
}
}
if(current==first)
first=first.next;
else
previous.next=current.next;
return current;
}
//显示
public void displayList() {
Link current=first;
while(current!=null) {
current.displayLink();
current=current.next;
}
System.out.println();
}
}