首页
学习
活动
专区
圈层
工具
发布

数据结构与算法-数组

简介

所谓数组,是有序的元素序列。 [1] 若将有限个类型相同的变量的集合命名,那么这个名称为数组名。组成数组的各个变量称为数组的分量,也称为数组的元素,有时也称为下标变量。用于区分数组的各个元素的数字编号称为下标。数组是在程序设计中,为了处理方便, 把具有相同类型的若干元素按无序的形式组织起来的一种形式。 [1] 这些无序排列的同类数据元素的集合称为数组。

代码示例
代码语言:javascript
代码运行次数:0
复制
package *;

/**
 * @program: data-structure
 * @description: 数组
 * @author: ChenWenLong
 * @create: 2019-09-10 09:19
 **/
public class MyArray<T> {
    private T[] MyArray;
    private int length = 0;

    /**
     * 功能描述:
     * 〈创建指定大小的数组〉
     *
     * @params : [size]
     * @return :
     * @author : cwl
     * @date : 2019/9/10 9:21
     */
    public MyArray(int size) {
        MyArray = (T[]) new Object[size];
    }

    /**
     * 功能描述:
     * 〈默认大小的数组 大小为10〉
     *
     * @params : []
     * @return :
     * @author : cwl
     * @date : 2019/9/10 9:21
     */
    public MyArray() {
        MyArray = (T[]) new Object[10];
    }

    /**
     * 功能描述:
     * 〈往数组中插入数据〉
     *
     * @params : [item]
     * @return : void
     * @author : cwl
     * @date : 2019/9/10 9:22
     */
    public void insert(T item) {
        MyArray[length++] = item;
    }

    /**
     * 功能描述:
     * 〈确定该元素是否在数组当中〉
     *
     * @params : [item]
     * @return : boolean
     * @author : cwl
     * @date : 2019/9/10 9:23
     */
    public boolean isCantain(T item) {
        for (int i = 0; i < length; i++) {
            if (MyArray[i] == item) {
                return true;
            }
        }
        return false;
    }

    /**
     * 功能描述:
     * 〈找到对应元素的索引〉
     *
     * @params : [item]
     * @return : int
     * @author : cwl
     * @date : 2019/9/10 9:25
     */
    public int findIndex(T item) {
        for (int i = 0; i < length; i++) {
            if (MyArray[i] == item) {
                return i;
            }
        }
        return -1;
    }

    /**
     * 功能描述:
     * 〈删除某个元素〉
     *
     * @params : [item]
     * @return : boolean
     * @author : cwl
     * @date : 2019/9/10 9:26
     */
    public boolean delete(T item) {
        int i = 0;
        for (i = 0; i < length; i++) {
            if (item == MyArray[i]) {
                break;
            }
        }
        if (i == length)
            return false;
        for (int j = i; j < length - 1; j++) {
            MyArray[j] = MyArray[j + 1];
        }
        length--;
        return true;
    }

    /**
     * 功能描述:
     * 〈打印数组〉
     *
     * @params : []
     * @return : void
     * @author : cwl
     * @date : 2019/9/10 9:26
     */
    public void show() {
        System.out.print("[");
        for (int i = 0; i < length; i++) {
            if (i == length - 1)
                System.out.print(MyArray[i]);
            else {
                System.out.print(MyArray[i] + ", ");
            }
        }
        System.out.print("]\n");
    }
}
举报
领券