<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    春風博客

    春天里,百花香...

    導航

    <2008年7月>
    293012345
    6789101112
    13141516171819
    20212223242526
    272829303112
    3456789

    統計

    公告

    MAIL: junglesong@gmail.com
    MSN: junglesong_5@hotmail.com

    Locations of visitors to this page

    常用鏈接

    留言簿(11)

    隨筆分類(224)

    隨筆檔案(126)

    個人軟件下載

    我的其它博客

    我的鄰居們

    最新隨筆

    搜索

    積分與排名

    最新評論

    閱讀排行榜

    評論排行榜

    泛型單鏈表類

    package com.sitinspring;

    /**
     * 單鏈表節點類
     * 
    @author: sitinspring(junglesong@gmail.com)
     * @date: 2008-7-1-下午10:42:49
     * 
    @param <T>
     
    */

    class Node<extends Object>{
        
    protected T value;
        
    protected Node next;
    }


    /**
     * 單鏈表類
     * 
    @author: sitinspring(junglesong@gmail.com)
     * @date: 2008-7-1-下午10:42:37
     * 
    @param <T>
     
    */

    public class ChainList<extends Object>{
        
    private Node<T> first;
        
        
    public void addTail(T t){
            Node
    <T> newNode=new Node<T>();
            newNode.value
    =t;
            
            
    if(first==null){                        
                first
    =newNode;
            }

            
    else{
                Node
    <T> curr=first;
                
                
    while(curr.next!=null){
                    curr
    =curr.next;
                }

                
                curr.next
    =newNode;
            }

        }

        
        
    public void addHead(T t){
            Node
    <T> newNode=new Node<T>();
            newNode.value
    =t;
            newNode.next
    =first;
            first
    =newNode;
        }

        
        
    public int size(){
            
    int size=0;
            Node
    <T> curr=first;
            
            
    while(curr!=null){
                size
    ++;
                curr
    =curr.next;
            }

            
            
    return size;
        }

        
        
    public T get(int index){
            
    if(index<0){
                
    throw new IllegalArgumentException("下標不能是負數");
            }

            
    else{
                Node
    <T> curr=first;
                
                
    while(curr!=null){                
                    
    if(index==0){
                        
    return curr.value;
                    }

                    
                    index
    --;
                    curr
    =curr.next;
                }

                
                
    throw new NullPointerException();
            }

        }

        
        
    public void remove(int index){
            
    if(index<0){
                
    throw new IllegalArgumentException("下標不能是負數");
            }

            
    else{
                
                
    if(index==0){
                    Node
    <T> next=first.next;                
                    first
    =next;
                }

                
    else{            
                    Node
    <T> curr=first;
                    Node
    <T> prev=curr;
                    
                    
    while(curr!=null){                
                        
    if(index==0){
                            prev.next
    =curr.next;
                            
    return;
                        }

                        
                        index
    --;
                        prev
    =curr;
                        curr
    =curr.next;
                    }

                    
                    
    throw new NullPointerException();
                }

            }

        }

        
        
    public void display(){
            System.out.print(
    "鏈表元素有");
            Node
    <T> curr=first;
            
            
    while(curr!=null){
                System.out.print(curr.value
    +",");
                curr
    =curr.next;
            }

            System.out.println();
        }

        
        
    public static void main(String[] args){
            ChainList
    <String> ls=new ChainList<String>();
            
            ls.addTail(
    "A");
            ls.addTail(
    "B");
            ls.addTail(
    "C");
            ls.display();
            
            ls.addHead(
    "1");
            ls.display();
            System.out.println(
    "數組長度為:"+ls.size());
            System.out.println(
    "第三個元素為:"+ls.get(2));
            
            
    for(int i=0;i<ls.size();i++){
                System.out.println(
    ""+(i+1)+"個元素為:"+ls.get(i));
            }

            
            ls.addTail(
    "E");
            ls.addTail(
    "F");
            ls.remove(
    0);        
            ls.display();
            
            ls.remove(
    1);        
            ls.display();
            
            ls.remove(ls.size()
    -1);        
            ls.display();
            
            
    for(int i=0;i<ls.size();i++){
                System.out.println(
    ""+(i+1)+"個元素為:"+ls.get(i));
            }

        }

    }

    posted on 2008-07-01 22:44 sitinspring 閱讀(550) 評論(0)  編輯  收藏 所屬分類: 算法數據結構

    sitinspring(http://www.tkk7.com)原創,轉載請注明出處.
    主站蜘蛛池模板: 在线亚洲精品自拍| 亚洲xxxx18| av无码久久久久不卡免费网站| 国产v亚洲v天堂a无| 国产成人免费片在线观看| 99视频在线观看免费| 亚洲av日韩av综合| 久久亚洲av无码精品浪潮| 91久久成人免费| yy一级毛片免费视频| 亚洲人成在线免费观看| 亚洲日韩涩涩成人午夜私人影院| 999任你躁在线精品免费不卡| 在线观看亚洲视频| 色播亚洲视频在线观看| 凹凸精品视频分类国产品免费| 99在线热视频只有精品免费| 美女被免费网站在线视频免费| 亚洲免费精彩视频在线观看| 亚洲国产成人爱av在线播放| 国产精彩免费视频| 99re6在线视频精品免费| 亚洲一区二区三区高清在线观看| 亚洲国产精品嫩草影院在线观看 | 亚洲成a人片在线网站| 亚洲一区二区三区无码影院| 在线观看免费人成视频色| a级日本高清免费看| 亚洲av日韩专区在线观看| 亚洲第一页中文字幕| 亚洲性猛交XXXX| 四虎1515hm免费国产| a级毛片无码免费真人| 一级成人a毛片免费播放| 乱爱性全过程免费视频| 亚洲精品无码高潮喷水A片软| 亚洲毛片无码专区亚洲乱| 日韩亚洲人成在线综合日本| 亚洲第一成人影院| 国产一区二区三区免费在线观看 | 亚洲欧洲精品成人久久奇米网 |