您的位置:首页 > 编程语言 > Java开发

【第五节】Java代码实现链表

2015-10-13 10:46 148 查看
package com.java.chapterFive;

public class LinkListApp {

/**
* @param args
*/
public static void main(String[] args) {

LinkList thelist=new LinkList();
thelist.insertFirst(22, 2.99);
thelist.insertFirst(44, 4.99);
thelist.insertFirst(66, 6.99);
thelist.insertFirst(88, 8.99);
thelist.displayList();

Link f=thelist.find(44);
if(f!=null)
System.out.println("找到了关键值"+f.iData);
else
System.out.println("没有找到该值");

Link d=thelist.delete(66);
if(d!=null)
System.out.println("已经删除该值"+d.iData);
else
System.out.println("没有删除");
thelist.displayList();

}

}
///////////////////////////////////////////////////////////////////////////////////////////
class Link{
public int iData;
public double dData;
public Link next;

public long LData;
//----------------------------------------------------------------------------------------
public Link(int id,double d){
this.iData=id;
this.dData=d;
}

public Link(long d){
LData=d;
}
//----------------------------------------------------------------------------------------
public void displayLink(){
System.out.println("{"+this.iData+" "+this.dData+"}");
}

public void displayLongLink(){
System.out.print(LData+" ");
}
}
///////////////////////////////////////////////////////////////////////////////////////
class LinkList{
public Link first;
//------------------------------------------------------------------------------------------
public LinkList(){
first=null;
}
//----------------------------------------------------------------------------------------
public void insertFirst(int id,double dd){
Link newLink=new Link(id,dd);
newLink.next=first;
first=newLink;
}
//---------------------------------------------------------------------------------------
public Link find(int key){
Link current=first;
while(current.iData!=key){
if(current.next==null)
return null;
else
current=current.next;
}
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(){
System.out.println("List (first--->last): ");
Link current=first;
while(current!=null){
current.displayLink();
current=current.next;
}
System.out.println(" ");
}
//----------------------------------------------------------------------------------------
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: