import java.util.Arrays;
public class TestDemo{
static int[] nums = new int[5];//全局变量,可以在本类中给所有函数访问。公共
static int count = 0;//1.计数器 统计有效元素的个数 2.新元素的插入下标
public static void main(String[] args){
add(0,10);
add(1,20);
add(2,30);
print();
add(1,50);
print();
add(4,60);
print();
add(5,70);
print();
delete(0);
print();
int look = select(1);
System.out.println(look);
}
/*
1.新增功能
*/
public static void add(int position,int value){
//1.2扩容
if(count == nums.length){//计数器和数组长度一致 满了
expand();
}
//1.3 用户指定下标进行插入
if(position > count || position <0 ){
System.out.println("插入位置无效!");
return;
}
//将有效的元素依次后移
for(int i = count;i>position;i--){
nums[i] = nums[i-1];
}
//1.1 在指定下标新增一个元素
nums[position] = value;
count++;//每新增一个元素,计数器累加
}
/*
2.扩容
*/
public static void expand(){
int[] newNums = Arrays.copyOf(nums,nums.length+1);
//将新数组覆盖掉原数组
nums = newNums;
}
/*
3.删除
根据下标删除指定元素
将该位置之后的元素,依次向前移动
*/
public static void delete(int position){
//3.1判断下标的有效
if(position > count || position < 0){
System.out.println("删除的下标无效!");
return;
}
//3.2将删除位置元素之后的依次向前移动
for(int i= position;i<count - 1;i++){
nums[i] = nums[i+1];
}
//3.3删除了元素,有效元素的个数 -1
count--;
}
/*
4.更新
根据下标更新数组中的元素
*/
public static void replace(int position,int value){
if(position <0 || position > count){
System.out.println("无效的下标");
return;
}
nums[position] = value;
}
/*
5.查看
根据下标查看数组中的元素
*/
public static int select(int position){
if(position <0 || position > count){
System.out.println("无效的下标");
return -1;//如果返回的是-1,无效的结果!
}
//查到了元素
return nums[position];
}
/*
遍历
*/
public static void print(){
for(int i = 0;i<count;i++){
System.out.print(nums[i]+"\t");
}
System.out.println();
}
}
数组增删改查
最新推荐文章于 2021-07-27 20:14:31 发布