<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)  編輯  收藏

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


    網站導航:
     
    主站蜘蛛池模板: 国产区图片区小说区亚洲区| 亚洲男人电影天堂| 黄色a三级免费看| 麻豆国产人免费人成免费视频| 亚洲人成电影在线观看青青| 手机看黄av免费网址| 亚洲成人福利在线观看| 国产成人精品免费视频动漫| 亚洲熟妇av一区| 国产乱码免费卡1卡二卡3卡| 无码午夜成人1000部免费视频| 成人黄软件网18免费下载成人黄18免费视频| 亚洲精品在线播放视频| 91免费播放人人爽人人快乐| 亚洲高清有码中文字| 国产又黄又爽又猛的免费视频播放| 亚洲色自偷自拍另类小说| a级毛片视频免费观看| 精品日韩亚洲AV无码| 国产精品色拉拉免费看| 亚洲中文字幕无码mv| 永久中文字幕免费视频网站| 美女黄网站人色视频免费| 亚洲色婷婷综合开心网| 亚洲精华国产精华精华液好用| 日韩免费福利视频| 国产亚洲福利在线视频| 又黄又爽的视频免费看| 在线观看免费视频网站色| 久久精品蜜芽亚洲国产AV| 成人人观看的免费毛片| 亚洲AV噜噜一区二区三区| 999国内精品永久免费视频| 国产精品亚洲专区无码WEB| 中文字幕亚洲专区| 97碰公开在线观看免费视频| 免费一级毛suv好看的国产网站| 亚洲AV一宅男色影视| 在线免费观看一区二区三区| 久久久WWW成人免费精品| 亚洲三级在线视频|