闫平平
写代码也要酷酷的!

导航

 
import java.util.*;
import java.lang.*;
 
 
public class Array {
    private int[] data;// 数组
    private int size;// 实际元素的个数
 
    // 初始化数组大小
    public Array(int capcity) {
        data = new int[capcity];
    }
 
    // 默认数组大小为10
    public Array() {
        this(10);
    }
 
    // 查看数组中元素个数
    public int getSize() {
        return size;
    }
 
    // 获取数组的容量
    public int getCapcity() {
        return data.length;
    }
 
    // 数组是否为空
    public boolean isEmpty() {
        return size == 0;
    }
 
    // 向数组尾部添加元素
    public void addLast(int e) {
        if (size == data.length)
            throw new RuntimeException("no space");
        data[size] = e;
        size++;
    }
 
    // 向指定位置添加元素
    public void add(int index, int e) {
        if (size == data.length)
            throw new RuntimeException("no space");
        if (index < 0 || index > size)
            throw new RuntimeException("failed to add!");
        // 每一个元素都后移一个位置
        for (int i = size - 1; i >= index; i--)
            data[i + 1] = data[i];
        data[index] = e;
        size++;
    }
 
    // 查询给定元素的位置
    public int search(int e) {
        for (int i = 0; i < data.length; i++) {
            if (data[i] == e)
                return i;
        }
        return -1;
    }
 
    // 根据指定位置查询元素
    public int get(int index) {
        if (index > size)
            return -1;
        return data[index];
    }
 
    // 修改元素
    public void modify(int index, int e) {
        data[index] = e;
    }
 
    // 删除指定位置的元素 返回删除的元素
    public int delete(int index) {
        // 先记录下随机元素
        int temp = data[index];
        // index后面的每一个元素向前移动一个位置
        for (int i = index + 1; i < size - 1; i++) {
            data[i - 1] = data[i];
        }
        size--;
        return temp;
    }
 
}

 

posted on 2019-03-11 21:06  写代码也要酷酷的  阅读(649)  评论(0编辑  收藏  举报