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

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
统计
 
复制代码
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   写代码也要酷酷的  阅读(660)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
 
点击右上角即可分享
微信分享提示