麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學院 > 開發設計 > 正文

線性表簡述

2019-11-15 00:01:01
字體:
來源:轉載
供稿:網友
線性表簡述一、簡單實現增,刪,改、查
package datatructs;/** * 表接口 */public interface LinearList {        boolean isEmpty();//判斷線性表是否為空    int size();   //返回線性表的大小    Object get(int index); //獲取指定索引的元素    Object set (int index,Object element);//修改指定索引的元素        boolean addForIndex(int index,Object element);//在指定索引位置添加的元素        boolean add(Object element);//在線性表最后添加元素        Object remove(int index); //移除指定位置的元素        void clear(); //清空線性表                }

實現類

package datatructs;public class LinearListImpl implements LinearList {    //線性表    PRivate Object [] sList;    //線性表大小    private int size;                public LinearListImpl(int length) {        if(length<0){            sList=new Object[10];        }else{            sList=new Object[length];        }    }            public LinearListImpl() {        //設置默認為10個大小        this(10);    }    /*     * 檢查線性表是否為空     */    @Override    public boolean isEmpty() {        //如果size=0就說明為空 true,不為0就為false        return size==0;        }    /*     * 返回線必表的大小     */    @Override    public int size() {            return size;    }        /*         * 返回指定索引位置的元素         */    @Override    public Object get(int index) {                return sList[index];    }                @Override    public Object set(int index, Object element) {        //得到原來位置上的元素        Object old=sList[index];        //修改        sList[index]=element;        //返回原來的值        return old;      }    /*     * 檢查在指定位置添加元素的,索引是否在范圍內     */    public void checkIndexForAdd(int index){        if(index<0 || index>size){            throw new IndexOutOfBoundsException("要插入的索引不在表的范圍內");        }    }    /*     * 檢查在指定索引是否在范圍 內     */    public void checkIndex(int index){        if(index>size){            throw new IndexOutOfBoundsException("要操作的索引不在表的范圍內");        }    }            /*         *在指定索引位置添加              */    @Override    public boolean addForIndex(int index, Object element) {        checkIndexForAdd(index);                //判斷線性表是否還有空間        if(size()==sList.length){            //如果為0            if(sList.length==0){                //初始化為10                sList=new Object[10];            }else{                //不為空就+1                //臨時表                Object [] tmp=sList;                //重新+1                 this.sList=new Object[sList.length+1];                //將元素復制過來                for (int i = 0; i < size; i++) {                    sList[i]=tmp[i];                }            }        }        //向后移一位        for(int i=size-1;i>=index;i--){            sList[i]=sList[i+1];        }        //插入元素        sList[index]=element;        size++;        return true;    }    /*     * 在最后添加元素     */    @Override    public boolean add(Object element) {        //調用 上面的添加方法         return addForIndex(size,element);            }    /*     * 刪除指定索引的元素     */    @Override    public Object remove(int index) {        checkIndex(index);        for(int i=index;i<size-1;i++){            sList[i]=sList[i+1];        }        sList[--size]=null;        //返回要移除的元素        return sList[index];    }    @Override    public void clear() {        for (int i = 0; i < size; i++) {            //將每個值設置為null            sList[i]=null;        }        //將線性表大小設置0        size=0;    }}

測試

package datatructs;public class Demo {    /**     * @param args     */    public static void main(String[] args) {        LinearListImpl ll=new LinearListImpl();        System.out.println("是否為空:  "+ll.isEmpty());        System.out.println("大小:"+ll.size());        ll.add("張三");        ll.add("李四");        ll.addForIndex(2, "王五");                System.out.println(ll.set(2, "趙六"));                                ll.remove(2);        for (int i = 0; i < ll.size(); i++) {            System.out.print("/t第"+i+" 元素 :"+ll.get(i));        }                ll.clear();        System.out.println("元素大小:"+ll.size());        System.out.println("是否為空:  "+ll.isEmpty());    }}


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 毛片国产 | 久久老司机精品视频 | 免费看一级片 | 欧美精品免费一区二区三区 | 国产免费一区二区三区网站免费 | 国产精品一区二区三区在线播放 | 欧美在线观看视频网站 | 欧美a级一区二区 | 韩毛片 | 免费观看黄色一级视频 | aa国产视频一区二区 | 久久99精品国产自在现线 | 色婷婷a v| 在线一级片 | 久久艳片| 欧美巨根 | 成年人网站国产 | 看一级毛片 | 精品一区二区三区免费毛片 | 秋霞a级毛片在线看 | 成人免费观看49www在线观看 | 一级免费 | 青青国产在线视频 | 天天鲁在线视频免费观看 | 精品在线观看一区二区三区 | 免费香蕉成视频成人网 | 日本中文字幕久久 | 欧美一区二区三区免费不卡 | 欧美日韩在线影院 | h色在线观看| 免费毛片观看 | 欧美一a一片一级一片 | 精品一区二区三区欧美 | 毛片视频观看 | 国产精品剧情一区二区三区 | 成人男女啪啪免费观看网站四虎 | 久久精品一级 | 97香蕉超级碰碰久久免费软件 | 久久成人午夜视频 | 羞羞视频2023 | 免费a网 |