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

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

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

    隨筆-48  評論-26  文章-0  trackbacks-0
    import java.util.ArrayList;
    import java.util.List;
      
      
    /** *//**
       * 鏈表實現ADT
       * 
    @author BruceLeey
       
    */
      
    class Node {
     
         Object obj;  
    //數值域
         Node next; //鏈域
     
         
    public Node() {
         }
     
         
    public Node(Object value) {
     
             
    this.obj = value;
             next 
    = null;
         }
     }
     
     
    class LinkList {
     
         
    private Node first;  //頭節點,不記錄在鏈表之內
         private int size;  //記錄鏈表節點長度
     
         
    public LinkList() {
     
             first 
    = null;
             size 
    = 0;
     
         }
     
         
    /** *//**
          * 添加節點
          *
          * 
    @param value
          
    */
         
    public void addNode(Object value) {
             System.out.println(
    "\n-------------------------添加節點 " + value + " -------------------------");
            Node currentNode 
    = new Node(value);
            currentNode.next 
    = first; //當前節點鏈域指向頭節點
             first = currentNode;        //頭節點記錄當前節點地址
             size++;
         }
     
         
    /** *//**
          * 驗證是否為空
          * 
    @return
          
    */
         
    public boolean isEmpty() {
             
    return size == 0;
         }
     
         
    /** *//**
          * 刪除表頭
         * 
    @param value
         
    */
         
    public Node removeFirstNode() {
             System.out.println(
    "\n-------------------------移除頭節點-------------------------");
             Node temp 
    = first;
             first 
    = first.next;   //指向下一節點
             size--;
             System.out.println(
    "\n移除的表頭數據為: " + temp.obj);
             
    return temp;   //返回刪除的節點
         }
     
         
    /** *//**
          * 封裝長度
          * 
    @return
          
    */
         
    public int getSize() {
     
            
    return size;
         }
     
         
    /** *//**
         * 找出索引之前的節點
          * 
    @param index
          * 
    @return
          
    */
         
    public List<Node> getNodeByIndex(int index) {
             System.out.println(
    "\n-------------------------查找" + index + "之前的所有節點-------------------------");
             List
    <Node> list = new ArrayList<Node>();
             
    assert (!(index > getSize() - 1 || index < 0));
             Node current 
    = first;   //定位到頭節點
             for (int i = 0; i < index; i++) {
                 list.add(current);
                 current 
    = current.next;   //以此往下移
           }
             
    for (int j = 0; j < list.size(); j++) {
                System.out.println(
    "\n查找到的數據為:  " + list.get(j).obj);
             }
             
    return list;
         }
     
         
    /** *//**
         * 輸出鏈表
         
    */
        
    public void displayNode() {
            System.out.println(
    "\n-------------------------開始輸出鏈表-------------------------");
            
    assert (!this.isEmpty());
            Node current 
    = first;
            
    for (int i = 0; i < getSize(); i++) {

                System.out.println(
    "節點為: " + current.obj.toString());
                current 
    = current.next;
            }

        }
    }


    public class TestAdt {

        
    public static void main(String[] args) {
            LinkList link 
    = new LinkList();
            
    for (int i = 0; i < 10; i++) {
                link.addNode(
    "我是節點 " + i);
            }
            link.displayNode();
            Node node 
    = link.removeFirstNode();
            link.displayNode();
            link.getNodeByIndex(
    5);
            link.displayNode();

        }
    }
    posted on 2009-09-26 14:38 Worker 閱讀(213) 評論(0)  編輯  收藏 所屬分類: 算法/數據結構

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     

    主站蜘蛛池模板: 亚洲AV综合色区无码二区爱AV| 亚洲精品在线播放视频| 国产A在亚洲线播放| 3d成人免费动漫在线观看| 久久亚洲中文无码咪咪爱| 国产亚洲精久久久久久无码77777| 色欲A∨无码蜜臀AV免费播| 亚洲欧美日韩一区二区三区在线 | 人成午夜免费视频在线观看| 99在线免费观看视频| 亚洲色欲色欱wwW在线| 成年性午夜免费视频网站不卡| 一区二区三区免费视频观看| 亚洲国产精品yw在线观看| 亚洲色欲久久久久综合网| 两性刺激生活片免费视频| 中文字幕免费在线看| 亚洲精品无播放器在线播放| 亚洲A∨无码一区二区三区| 国产成人青青热久免费精品| 一级做a爰全过程免费视频| 国产成人精品亚洲一区| 亚洲国产高清美女在线观看| 亚洲偷自拍拍综合网| 好大好深好猛好爽视频免费| 久久黄色免费网站| 无码 免费 国产在线观看91| 亚洲av永久无码精品三区在线4| 亚洲日韩激情无码一区| 国产一区视频在线免费观看| 香蕉97超级碰碰碰免费公| a级毛片毛片免费观看永久| 国产亚洲精品成人久久网站| 亚洲综合偷自成人网第页色| 亚洲AV无码成人精品区天堂| 亚洲欧洲中文日韩av乱码| 精品无码国产污污污免费| 黄色网址免费观看| 97视频免费观看2区| 久久免费线看线看| aa级女人大片喷水视频免费|