• 在线运行各语言输出结果


    https://tool.lu/coderunner

    package chapter2.part1;
    
    /**
     * Created by weimengshu on 2018/8/24.
     */
    public class MyArray {
    
        private int[] array;
        private int size;
    
        public MyArray(int capacity){
            this.array = new int[capacity];
            size = 0;
        }
    
        /**
         * 数组插入元素
         * @param index  插入的位置
         * @param element  插入的元素
         */
        public void insert(int index, int element) throws Exception {
            //判断访问下标是否超出范围
            if(index<0 || index>size){
                throw new IndexOutOfBoundsException("超出数组实际元素范围!");
            }
            //如果实际元素达到数组容量上线,数组扩容
            if(size >= array.length){
                resize();
            }
            //从右向左循环,逐个元素向右挪一位。
            for(int i=size-1; i>=index; i--){
                array[i+1] = array[i];
            }
            //腾出的位置放入新元素
            array[index] = element;
            size++;
        }
    
        /**
         * 数组扩容
         */
        public void resize(){
            int[] arrayNew = new int[array.length*2];
            //从旧数组拷贝到新数组
            System.arraycopy(array, 0, arrayNew, 0, array.length);
            array = arrayNew;
        }
    
        /**
         * 数组删除元素
         * @param index  删除的位置
         */
        public int delete(int index) throws Exception {
            //判断访问下标是否超出范围
            if(index<0 || index>=size){
                throw new IndexOutOfBoundsException("超出数组实际元素范围!");
            }
            int deletedElement = array[index];
            //从左向右循环,逐个元素向左挪一位。
            for(int i=index; i<size-1; i++){
                array[i] = array[i+1];
            }
            size--;
            return deletedElement;
        }
    
        /**
         * 输出数组
         */
        public void output(){
            for(int i=0; i<size; i++){
                System.out.println(array[i]);
            }
        }
    
        public static void main(String[] args) throws Exception {
            MyArray myArray = new MyArray(4);
            myArray.insert(0,3);
            myArray.insert(1,7);
            myArray.insert(2,9);
            myArray.insert(3,5);
            myArray.insert(1,6);
            myArray.insert(5,8);
            myArray.delete(3);
            myArray.output();
        }
    }

  • 相关阅读:
    微信分享相关
    移动端界面适配
    MongoDB安装使用
    MongoDB可视化工具RoboMongo
    PhotoSwipe图片展示插件
    BootStrap下拉框搜索功能
    Node.js 特点
    原生node实现本地静态页面的展示
    阿里巴巴电话初面
    react动态添加多个输入框
  • 原文地址:https://www.cnblogs.com/kpengfang/p/13284006.html
Copyright © 2020-2023  润新知