数据结构与算法之02数组

一.数组

1.基本使用
创建:

int [] arra1 = new int[] 
int [] arr2 =new int{1,2,3,4,5,6} 
求长度 :arra1.length 赋值
数组的遍历:for(int i =0 ;i<arra1.length;i++) syso

2.数组元素的添加

int [] arra1 = new int{1,2,3} //添int dst = 6;
int [] newarra1 = new int[arra1.length+1]; //创建一个比原数组长度多1 的数组
for(int i =0 ;i<arra1.length;i++) { 
 newarra1[i]=arra1[i]; //把原来数组全部复制到新数组
newarra1[arra1.length]=dst; 
syso //将值放入到新数组的最后 

3.数组元素的删除

int[] arra=new int[] {1,2,3,4,5};
int dst =2;//要删除数组的下表
System.out.println(Arrays.toString(arra)); 思路:创建一个长度小的数组,然后遍历新数组,之后通过判断过滤掉要删除数组的下标。
int [] newarra = new int [arra.length-1];
for(int i = 0;i<newarra.length;i++){
if(i<dst){
newarra[i]=arra[i];
}else {newarra[i]=arra[i+1];}
}
arra=newarra;

4.面向对象的数组

public class shuzu {
private int[] elements;//用于存储数据的数组
//创建数组函数
public shuzu(){
elements=new int[0];
}
//获取数组长度
public int size(){
return elements.length;
}
//向原来的数组加入一个元素
public void add(int element){
int [] arra=new int[elements.length+1];
for(int i =0;i < elements.length;i++){
arra[i]=elements[i]; }
arra[elements.length]=element;
elements=arra;
}
//打印所有元素
public void show(){
System.out.println(Arrays.toString(elements));
}
//删除数组的元素
public void delete(int index){
if (index<0||index>elements.length-1){
throw new RuntimeException("下标越界");
}
int [] newarra = new int [elements.length-1];
for(int i =0;i<newarra.length ;i++){
if (i<index){
newarra[i]=elements[i];
}else{
newarra[i]=elements[i+1];
}
}
elements=newarra; 
}
//取出指定数
public int get (int index){
return elements[index];
}
//插入到指定位置
public void insert(int index ,int element){
int[] newarra =new int [elements.length+1];
for(int i =0;i<elements.length;i++){
if(index>i){
newarra[i]=elements[i];
}else{
newarra[i+1]=elements[i];
}
}
newarra[index]=element;
elements=newarra;
}
}
发布了79 篇原创文章 · 获赞 44 · 访问量 2057

猜你喜欢

转载自blog.csdn.net/wy19961103/article/details/103442217
今日推荐