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

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

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

    posts - 495,  comments - 11,  trackbacks - 0

    interface List
    {
    public void insert(int i,Object obj) throws Exception;?? //插入
    public Object delete(int i) throws Exception;??????????? //刪除
    public Object getData(int i) throws Exception;?????????? //取數據元素
    public int size();?????????????????????????????????????? //求元素個數
    public boolean isEmpty();??????????????????????????????? //是否空
    }

    //單鏈表結點類

    class Node
    {
    Object element;?? //數據元素
    Node next;?????? //表示下一個結點的對象引用

    Node(Node nextval)?? //用于頭結點的構造函數1
    {
    ?? next = nextval;
    }

    Node(Object obj,Node nextval)?? //用于其他結點的構造函數2
    {
    ?? element = obj;
    ?? next = nextval;
    }

    public Node getNext()?? //取next
    {
    ?? return next;
    }

    public void setNext(Node nextval)?? //置next
    {
    ?? next = nextval;
    }

    public Object getElement()??? //取element
    {
    ?? return element;
    }

    public void setElement(Object obj)?? //置element
    {
    ?? element = obj;
    }

    public String toString()?? //轉換element為String類型
    {
    ?? return element.toString();
    }
    }

    //單鏈表類

    class LinList implements List
    {
    Node head;????? //頭指針
    Node current;?? //當前結點位置
    int size;?????? //數據元素個數

    LinList()?????? //構造函數
    {
    ?? head = current = new Node(null);
    ?? size =0;
    }

    public void index(int i) throws Exception
    { //定位到第i個結點(以0開始記起)
    ????? if(i < -1 || i > size-1)
    ????? {
    ??? throw new Exception("參數錯誤!");
    ?? }
    ?? if(i == -1) return;
    ?? current = head.next;
    ?? int j = 0;
    ?? while((current != null) && j < i)
    ?? {
    ??? current = current.next;
    ??? j++;
    ?? }
    ???? }

    ???? public void insert(int i,Object obj) throws Exception
    ???? {
    ?? if(i < 0 || i > size)
    ?? {
    ??? throw new Exception("參數錯誤!");
    ?? }
    ?? index(i-1);
    ?? current.setNext(new Node(obj,current.next));
    ?? size++;
    }

    public Object delete(int i) throws Exception
    {
    ?? if(size == 0)
    ?? {
    ??? throw new Exception("鏈表已空無元素可刪除!");
    ?? }
    ?? if(i < 0 || i > size-1)
    ?? {
    ??? throw new Exception("參數錯誤!");
    ?? }
    ?? index(i-1);
    ?? Object obj = current.next.getElement();
    ?? current.setNext(current.next.next);
    ?? size--;
    ?? return obj;
    }

    public Object getData(int i) throws Exception
    {
    ????? if(i < -1 || i > size-1)
    ????? {
    ??? throw new Exception("參數錯誤!");
    ?? }
    ?? index(i);
    ?? return current.getElement();
    }

    public int size()
    {
    ?? return size;
    }

    public boolean isEmpty()
    {
    ?? return size == 0;
    }
    }

    /* 主函數
    * 刪除數列{1,2,3,4,5,6,7,8,9,10}里的元素5
    */

    public class LinListTest
    {
    public static void main(String args[])
    {
    ?? LinList linList = new LinList();
    ?? int n = 10;
    ?? try
    ?? {
    ??? for(int i = 0;i < n;i++)
    ??? {
    ???? linList.insert(i,new Integer(i+1));
    ??? }

    ??? linList.delete(4);

    ??? for(int i =0;i<linList.size;i++)
    ??? {
    ???? System.out.print(linList.getData(i)+"?? ");
    ??? }
    ?? }
    ?? catch(Exception e)
    ?? {
    ??? System.out.println(e.getMessage());
    ?? }
    }
    }

    posted on 2007-05-04 10:50 jadmin 閱讀(138) 評論(0)  編輯  收藏

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


    網站導航:
     
    主站蜘蛛池模板: 亚洲国产精品一区第二页| 四虎影永久在线高清免费| 日本红怡院亚洲红怡院最新| 思思久久99热免费精品6| 日韩a级毛片免费视频| 亚洲国产欧美日韩精品一区二区三区| 免费国产黄线在线观看 | 亚洲AV成人片色在线观看高潮| 九九免费观看全部免费视频| 亚洲国产精品碰碰| caoporm超免费公开视频| 亚洲色欲一区二区三区在线观看 | 亚洲第一综合天堂另类专| 国产精品va无码免费麻豆| 青娱乐在线免费观看视频| 亚洲性日韩精品一区二区三区| h视频在线免费观看| 亚洲AV无码一区二区乱子伦| 99久久国产免费-99久久国产免费 99久久国产免费中文无字幕 | 国产亚洲人成在线影院| 亚洲欧洲自拍拍偷精品 美利坚| 国产成人无码免费网站| 亚洲国产精品免费视频| 国产精品入口麻豆免费观看| 亚洲国产区男人本色| 亚洲日韩在线中文字幕第一页| 国产麻豆一精品一AV一免费| 久久亚洲精精品中文字幕| 成人性生免费视频| 一级毛片a免费播放王色电影| 亚洲AV无码一区二区二三区软件| 91香焦国产线观看看免费| 亚洲精品中文字幕| 亚洲欭美日韩颜射在线二| 91免费在线播放| 极品美女一级毛片免费| 久久久久亚洲AV无码专区首| 黑人粗长大战亚洲女2021国产精品成人免费视频 | 亚洲熟妇自偷自拍另欧美| 亚洲精品视频免费观看| 国产免费不卡视频|