zoukankan      html  css  js  c++  java
  • 数据结构之LinkList

    1、结构:

    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



  • 相关阅读:
    css换行
    <a>标签里的<img>标签点击虚线框
    iframe子页面调用父页面元素
    快捷键
    用css绘制三角形
    解决div被embed,object覆盖问题
    一些兼容问题
    兼容padding
    记一次用html2canvas将页面内容生成海报并保存图片到本地
    PUPPETEER安装遇到 ERROR:CHROMIUM REVISION IS NOT DOWNLOADED.的解决办法
  • 原文地址:https://www.cnblogs.com/ryelqy/p/10104135.html
Copyright © 2011-2022 走看看