<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://m.tkk7.com)原創(chuàng),轉(zhuǎn)載請注明出處.
    主站蜘蛛池模板: 久久综合九色综合97免费下载| 亚洲韩国精品无码一区二区三区 | 性无码免费一区二区三区在线| 亚洲欧洲专线一区| 亚洲综合综合在线| 亚洲精品字幕在线观看| 亚洲?V乱码久久精品蜜桃 | 国产精品xxxx国产喷水亚洲国产精品无码久久一区 | 亚洲精品日韩一区二区小说| 亚洲色图古典武侠| 亚洲AV无码精品色午夜果冻不卡 | 一区二区免费电影| 美女裸免费观看网站| 亚洲已满18点击进入在线观看| 97亚洲熟妇自偷自拍另类图片| 亚洲日韩欧洲无码av夜夜摸| 亚洲国产专区一区| 全黄a免费一级毛片人人爱| 女人18毛片a级毛片免费| 在线视频免费观看高清| 免费福利网站在线观看| 最近中文字幕电影大全免费版| 最好免费观看高清在线 | 成人午夜亚洲精品无码网站| 日本中文一区二区三区亚洲| 国产高清免费观看| 暖暖免费高清日本中文| 免费看大黄高清网站视频在线| 欧美好看的免费电影在线观看| 日韩视频在线精品视频免费观看| 18未年禁止免费观看| 182tv免费视视频线路一二三| 99国产精品免费视频观看| 久久精品成人免费观看| 久热免费在线视频| 13一14周岁毛片免费| 91手机看片国产永久免费| 性短视频在线观看免费不卡流畅| 99久久免费国产香蕉麻豆| 男男AV纯肉无码免费播放无码| 成人特黄a级毛片免费视频|