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

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

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

    春風(fēng)博客

    春天里,百花香...

    導(dǎo)航

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

    統(tǒng)計(jì)

    公告

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

    Locations of visitors to this page

    常用鏈接

    留言簿(11)

    隨筆分類(224)

    隨筆檔案(126)

    個人軟件下載

    我的其它博客

    我的鄰居們

    最新隨筆

    搜索

    積分與排名

    最新評論

    閱讀排行榜

    評論排行榜

    泛型單鏈表類

    package com.sitinspring;

    /**
     * 單鏈表節(jié)點(diǎn)類
     * 
    @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("下標(biāo)不能是負(fù)數(shù)");
            }

            
    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("下標(biāo)不能是負(fù)數(shù)");
            }

            
    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(
    "數(shù)組長度為:"+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 閱讀(551) 評論(0)  編輯  收藏 所屬分類: 算法數(shù)據(jù)結(jié)構(gòu)

    sitinspring(http://www.tkk7.com)原創(chuàng),轉(zhuǎn)載請注明出處.
    主站蜘蛛池模板: 亚洲91av视频| 真正全免费视频a毛片| 免费观看的a级毛片的网站| 美女扒开尿口给男人爽免费视频| 亚洲人成亚洲人成在线观看 | 57PAO成人国产永久免费视频| 国产成人亚洲综合无| 亚洲va国产va天堂va久久| 成人毛片18女人毛片免费96| 国产美女视频免费观看的网站| 亚洲综合激情六月婷婷在线观看| 国产免费久久精品久久久| 久久青草免费91线频观看不卡| 亚洲AV无码成人精品区日韩| 亚洲视频在线播放| 亚洲 国产 图片| 亚洲人成免费电影| 久久er国产精品免费观看8| 亚洲色图激情文学| 亚洲AV无码一区二区三区系列| 精品久久洲久久久久护士免费 | 日本免费网站视频www区| 一个人看的www免费在线视频| 亚洲不卡中文字幕| 亚洲AV无码精品无码麻豆| 国产极品粉嫩泬免费观看| 57pao一国产成永久免费| www永久免费视频| 亚洲爆乳无码专区www| 亚洲日本香蕉视频观看视频| 中文字幕精品亚洲无线码二区| 暖暖在线日本免费中文| 日本免费xxxx| 57pao一国产成永久免费| 日本免费中文视频| eeuss免费影院| 国产AV日韩A∨亚洲AV电影| 亚洲一区二区三区成人网站| 亚洲美女精品视频| 亚洲日本中文字幕区| 日韩va亚洲va欧洲va国产|