数据结构之LinkList数据结构之LinkList

 

2、Link代码:

 

 

public class Link {

	public int iData;
	public double dData;
	public Link next;
	
	public Link(int id,double dd){
		iData = id;
		dData = dd;
	}
	
	public void displayLink(){
		System.out.println("{" + iData + " , " + dData + " } ");
	}
	
	
}

 

 

3、LinkList代码:

 

 

public class LinkList {

	private 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;
		first = newLink;
	}
	
	public Link deleteFirst(){
		Link temp = first;
		first = first.next;
		return temp;
	}
	
	public void displayList(){
		System.out.println("List (first -- > last);");
		Link current = first;
		while(current != null){
			current.displayLink();
			current = current.next;
		}
		System.out.println(" ");
	}
	
	
	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;
	}
	
}

 

4、运行代码:

 

public class LinkList2App {

	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("Found link with key " + f.iData);
		}else{
			System.out.println("Can't find link");
		}
		
		Link d = theList.delete(66);
		if( d != null){
			System.out.println("Deleted link with key " + d.iData);
		}else{
			System.out.println("Can't delete link");
		}
		
		theList.displayList();
		
	}
}

 

5、结果:

 

List (first -- > last);
{88 , 8.99 } 
{66 , 6.99 } 
{44 , 4.99 } 
{22 , 2.99 } 
 
Found link with key 44
Deleted link with key 66
List (first -- > last);
{88 , 8.99 } 
{44 , 4.99 } 
{22 , 2.99 } 



Reference:

 

[1] Robert Lalore(著) 计晓云,赵研,曾希,狄小菡(译), Java数据结构和算法(第二版),中国电力出版社,2004 :131-150

 

 



相关文章:

  • 2021-11-23
  • 2021-11-27
  • 2021-04-09
  • 2021-12-02
  • 2021-07-09
  • 2021-08-19
  • 2022-01-07
猜你喜欢
  • 2021-05-19
  • 2022-12-23
  • 2021-11-30
  • 2021-09-24
  • 2021-12-08
  • 2021-05-09
  • 2022-12-23
相关资源
相似解决方案