5.单链表
链表就是由多个链结点依次串起来的一种数据结构,每个链结点都有自己的数组还有一个指向下一个链结点的指针地址.
1.描述链结点
public class Link {
//链结点的数据
public int iData;
public int dData;
//链结点指向下个结点的地址引用变量
public Link next;
public Link(int iData,int dData){
this.iData=iData;
this.dData=dData;
}
public void displayLink(){
System.out.println("{"+this.iData+","+this.dData+"}");
}
}
2.单链表描述
public class LinkList {
//存储头结点的地址
private Link first;
public LinkList(){
this.first=null;
}
public boolean isEmpty(){
return this.first==null;
}
public void insertFirst(int iData,int dData){
Link newFirst=new Link(iData, dData);
newFirst.next=this.first;
this.first=newFirst;
}
public Link deleteFirst(){
Link temp=this.first;
this.first=this.first.next;
return temp;
}
public void displayLinkList(){
Link current=this.first;
while(current!=null){
current.displayLink();
current=current.next;
}
}
public Link find(int key){
Link current =this.first;
while(key!=current.iData){
if(current.next==null){
return null;
}else{
current=current.next;
}
}
return current;
}
public Link delete(int key){
Link current=this.first;
Link previous=this.first;
while(current.iData!=key){
if(current.next==null){
return null;
}else{
previous=current;
current=current.next;
}
}
if(current==this.first){
this.first=this.first.next;
}else{
previous.next=current.next;
}
return current;
}
}
本人倡导的讲解方式:代码示例[学以致用,不仅要知道理论,还要知道理论怎么付诸实践],
文字讲解[不仅知道要怎么用,还要知道是怎么回事],
画图讲解[有图有真相,用图的形式将代码嵌入到理论中,整体理解]

浙公网安备 33010602011771号