• 数据结构之线性表顺序结构


    知识点:1、确定线性表的基本操作:创建、插入、删除、查找.

               2、this的用法:http://www.cnblogs.com/java-class/archive/2012/12/19/2825463.html    

               3、运行时异常 :RunTimeException    http://blog.csdn.net/qq635785620/article/details/7781026

               4、泛型的理解:http://www.cnblogs.com/lwbqqyumidi/p/3837629.html

               5、构造函数   : http://longying2008.iteye.com/blog/1535722

    import javax.management.RuntimeErrorException;

    public class ArrayList<E> {
        Object[] arrays = null ;
        int current = 0;     //当前表长
        int capcity = 0;      //数组长度
        public ArrayList(){
            this(10);
        }
        
        //创建數組
        public ArrayList(int initalsize) {
        // TODO Auto-generated constructor stub
         if(initalsize<0){
             throw new RuntimeException("数组大小出现错误"+initalsize); //运行时错误!
         }else{
             this.arrays = new Object[initalsize];
             this.current = 0;
             this.capcity = initalsize;
         }
        }

    //添加元素(在尾部)
        public void add(E e){
            isfull(capcity);
            this.arrays[current] = e;
            current ++;
        }
        //数据复制出来,再复制回去;保证数组够用,只能重新建立数据
        public void isfull(int cap){
            if(this.current == cap){
            this.capcity  = this.capcity+10;
            Object[] newarrays = new Object[capcity];
            for(int i = 0; i<cap ;i++){
                   newarrays[i] = this.arrays[i];
            }
            this.arrays = newarrays;    
            }     
        }
        //根据下标号取出元素值
        public E getbyindex(int i){
            if(i>=0&&i<current)
                return (E) this.arrays[i];
            else  throw new RuntimeException("数组错误"+i);  
        }
        //插入一个元素,这里要提前判断一下数组大小
        public void insert(int i,E e){
            if(i<0||i>=this.capcity){
                throw new RuntimeException("下标号"+i+"出现错误!");
            }
            else{
                isfull(this.capcity);
                for(int j=this.current+1 ; j>=i ;j--){
                    this.arrays[j] = this.arrays[j-1];
                }
                arrays[i] = e;
            }     
        }

        public static void main(String[] args) {
            // TODO Auto-generated method stub
            ArrayList<Integer> arr = new ArrayList<Integer>();
            arr.insert(9,2);
        }

    }

    态度决定行为,行为决定习惯,习惯决定性格,性格决定命运
  • 相关阅读:
    BZOJ1217: [HNOI2003]消防局的设立
    BZOJ3925: [Zjoi2015]地震后的幻想乡
    BZOJ2328: [HNOI2011]赛车游戏
    BZOJ1011: [HNOI2008]遥远的行星
    BZOJ2007: [Noi2010]海拔
    BZOJ1833: [ZJOI2010]count 数字计数
    BZOJ1026: [SCOI2009]windy数
    BZOJ1196: [HNOI2006]公路修建问题
    BZOJ1076: [SCOI2008]奖励关
    BZOJ2752: [HAOI2012]高速公路(road)
  • 原文地址:https://www.cnblogs.com/neversayno/p/5065423.html
Copyright © 2020-2023  润新知