数组的增加和删除,手写,具体参考代码
package chapter3.level1;
import java.util.Arrays;
public class ArraysOperate {
public static void main(String[] args) {
int[] arr1 = { 2, 3, 4, 5, 6, 10, 0};
// insertData(arr1, 6, 1);
// for (int i = 0; i < arr1.length; i++) {
// System.out.println(arr1[i]);
// }
int size = deleteData(arr1, 6, 10);
for (int i = 0; i < size; i++) {
System.out.println(arr1[i]);
}
}
/**
*
* @param arr
* @param size 数组已经存储元素的数量
* @param a 插入的元素
*/
public static void insertData(int[] arr, int size, int a) {
//数组已满,直接不插入
if(size >= arr.length){
return;
}
//找出插入的位置
int index = 0;
for (int i = 0; i < size; i++) {
if (arr[i] > a) {
break;
}
index++;
}
//把index后的每一位元素都往后挪一位,从数组尾巴开始
for(int i = size; i > index; i--){
arr[i] = arr[i-1];
}
arr[index] = a;
}
public static int deleteData(int[] arr, int size, int a){
int index = 0;
for (int i = 0; i < size; i++) {
if (arr[i]==a){
break;
}
index++;
}
for (int i = index; i < size -1; i++) {
arr[i] = arr[i+1];
}
arr[size-1] = 0;
return --size;
}
}