现在的位置: 首页 > 综合 > 正文

java 数组的插入删除修改操作(数据结构)

2013年07月19日 ⁄ 综合 ⁄ 共 1091字 ⁄ 字号 评论关闭

 先说Java数组的插入操作 :数组a定义为: 【1】【2】【3】【4】【5】  我想要在a数组的第3个位置插入6  那么第3个位置和它之后的的数组的位置都应该向后移动一位 

                                                                              【1】【2】【6】【3】【4】【5】

而我们知道array 数组是定义了之后就不变的  所以我们要新定义一个比原来的数组长度长1为的数组  也就是 int[] b=new int[a.length+1];

然后B数组的第一个元素为原先数组的第一个 第二个为原先的第二个  

当到第三个时  b数组的第三个就等于要插入的值 这里是6;

然后第三个之后的  都为对应a数组+1的位置 也就是b[i]=a[i+1];

删除操作 采用同样的分析方法可得  

修改 就是直接替换一个值   

代码如下:

package arrayOperator;

public class arrayOperation {
public static int[] insert(int a[],int index,int value){
int b[]=new int[a.length+1];
for(int i=0;i<b.length;i++){
	if(i<index-1){
		b[i]=a[i];
	}
	if(i==index-1){
		b[i]=value;
	}
	if(i>index-1){
		b[i]=a[i-1];
	}
	
}
	return b;
}
public static void print(int a[]){
	for(int i=0;i<a.length;i++){
		System.out.print(a[i]+" ");
	}
	System.out.println();
}
public static int[] delete(int a[],int index){
	int b[]=new int[a.length-1];
	for(int i=0;i<b.length;i++){
		if(i<index-1){
			b[i]=a[i];
		}
		else{
			b[i]=a[i+1];
		}
	}
	return b;
}
public static int[] update(int a[],int index,int value){
a[index-1]=value;
	return a;
}
	
public static void main(String args[]){
	int[] a={1,2,3,4,5,6};
	int[] b=insert(a,3,7); //在数组a的第三个位置插入7
	print(b);
    b=delete(a,2);                //删除a数组的2个袁术
     print(b);
     b=update(a,4,9);    //将a数组的第4个元素改为9
     print(b);
     
}
}

抱歉!评论已关闭.