整数函数查删插替

public class ArrayQ{
static int[] arr = new int[5];
static int size = 0;
public static void main(String[] args){
insert(0,111);
insert(1,222);
insert(2,333);
insert(3,444);
insert(4,555);
insert(5,666);
insert(6,777);
print();
insert(2,222222222);
print();
query(5);
print();
replace(4,4444444);
delete(3);
print();
}

//为数组插入一个值
public static void insert(int xb , int z){
	if(size == arr.length){
		expand();
	}
	chake(xb);
	for(int i = size ; i > xb ; i--){      //插入一个数,数组整体向后移动一位,移动后值为前一个值,移动方式为从后至前
		arr[i] = arr[i-1];                 //移动后的值
	}
	
	arr[xb] = z;				//储存值
	size++;       		//插入一个数后有效数增加1
}

//扩容  即声明一个新数组 将原数组复制后更换地址
public static void expand(){
	int[] newArr = new int[arr.length*2]; //声明
	System.arraycopy(arr , 0 , newArr , 0 ,arr.length);  //复制数组 从原第一位到新第一位起 长度为原数组长度
	arr = newArr;    //更换地址 方法为将新数组名赋给原数组名
}
public static int query(int xb){  //查询 输入下标赋给arr[]
	chake(xb);
	return arr[xb];
}
//替换 将数组某一位数替换为新数
public static void replace(int xb , int z){
	chake(xb);
	arr[xb] = z;
}
//删除 将原数组某项删除 ,并让删除后那位起每一项前移1位,前移从后至前
public static void delete(int xb){
	chake(xb);
	for(int i = xb; i < size-1 ; i++){
		arr[i] = arr[i+1];
	}
	size--;
}

//输出函数、有效范围内
public static void print(){

	for(int i = 0 ; i <size ; i++){
		System.out.print(arr[i]+"\t");
	}
	System.out.println();
}
//判断函数,用于有参数的函数
public static void chake(int xb){
	
	if( xb < 0 || xb > size){
		System.out.println("输入错误");
		return;
	}
}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值