<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://m.tkk7.com)原創,轉載請注明出處.
    主站蜘蛛池模板: 边摸边吃奶边做爽免费视频99| 亚洲白色白色在线播放| 国产成人综合亚洲| 天天天欲色欲色WWW免费| 亚洲毛片免费视频| 亚洲精品视频在线| 又大又硬又粗又黄的视频免费看 | 亚洲午夜精品一区二区麻豆| 精品福利一区二区三区免费视频| 亚洲视频在线观看一区| 最近2019免费中文字幕6| 亚洲国产免费综合| 日本精品久久久久久久久免费 | 永久免费av无码网站yy| 亚洲av综合avav中文| 亚洲精品国产免费| 亚洲 欧洲 自拍 另类 校园| 日本免费电影一区二区| 亚洲自偷自偷精品| 成人午夜免费福利| 人妻仑刮八A级毛片免费看| 国产亚洲视频在线播放| 久别的草原电视剧免费观看| 亚洲六月丁香六月婷婷蜜芽| 四虎影院免费在线播放| 激情吃奶吻胸免费视频xxxx| 亚洲精品一品区二品区三品区| 男人都懂www深夜免费网站| 亚洲国产午夜精品理论片| 国产成人一区二区三区免费视频 | 亚洲AV无码一区二区三区国产 | 国产无遮挡吃胸膜奶免费看| 一级做a爰片性色毛片免费网站| 亚洲香蕉成人AV网站在线观看| 免费大片av手机看片高清| 亚洲精品无码久久千人斩| 亚洲一级毛片免费观看| 亚洲日韩在线中文字幕综合 | 亚洲无成人网77777| 99久久综合精品免费| 亚洲欧美日韩自偷自拍|