简述:
数组作为线性表的基本结构,其特点是各个元素都紧密的挨在一起(在内存中存储在连续的空间中),且数据类型相同,占用的内存大小也相同;
数组的下标从0开始,到length - 1;
数组的增删查:
查:给定原数组,目标值,返回该值在数组中的下标
/**
* select
* @param array 原数组
* @param target 目标元素
*
* */
public static int findElementIndex(int[] array, int target) {
if (array == null) {
return -1;
}
for (int i = 0; i < array.length; i++) {
if (array[i] == target) {
return i;
}
}
return -1;
}
增:给定原数组、新增位置、原数组长度、目标值,将目标值插入到给定下标处;
/**
* insert
*
* @param array 原数组
* @param index 插入位置
* @param size 原数组长度
* @param target 目标值
*/
public static int insertElement(int[] array, int index, int size, int target) {
if (index > size || index == 0) {
return -1;
}
for (int i = size; i - index >= 0; i--) {
array[i] = array[i - 1];
}
array[index - 1] = target;
return index;
}
删:删除给定下标的值;
/**
* delete
* @param array 原数组
* @param index 下标值
*
* */
public static int delete(int[] array, int index) {
if (index >= array.length) {
return -1;
}
for (int i = index; i <= array.length; i++) {
array[i - 1] = array[i];
}
return index;
}