public class HighArray {
int [] a= new int[9999];//定义数组
int n=0;//计算数组存入数据的长度
//添加数据
public void insert(int value){
a[n] = value;//插入数据
n++;//长度增加
//下次赋值时,就到数组末尾了
if(n==a.length-1){
//在new int[长度原数组两倍]
int [] b= new int[a.length*2];
for(int i = 0; i < n; i++){
b[i] =a[i];
}
//b数据的引用,交给a
//原来a数组没有了引用,就会被销毁
//出了大括号b的名字就会被销毁,引用交给a
a=b;
}
}
//寻找值
public boolean find(int key){//传入寻找的数据
int i;
for(i=0;i<n;i++){
if(a[i]==key){
//找到了
break;
}
}
if(i<n){//找到数据,for没有循环到结尾,就结束了
return true;
}else {
return false;//i=n,for循环到结尾也没有找到数据
}
}
//寻找值下标
public int findKey( int key){
int i;
for(i=0;i<n;i++){
if(a[i]==key){
return i;//找到数据返回下标
}
}
return -1;//没有找到数据返回-1
}
//遍历输出数据
public void display(){
for( int i=0;i<n;i++){
System.out.print(a[i] + "\t");
}
}
public void delete (int value){
//基本删除
//删除掉的数据的位置无法再次添加数据
//有空间浪费
// int delIndex = findKey(value);
// a[delIndex] = -1;
//节省空间的方式
//要删除的这个下标位其后的数据,向前移
//1.找到这个要删除的数据的下标
int delIndex = findKey(value);
//2.从这个要删除下标+1开始循环
//3.遍历到每个元素,都向前移
// a=new int[]{44,55,78};
for(int i=delIndex+1; i<n; i++){
//a[i]==99;
a[i-1] = a[i];
a[i]=0;
}
//删除元素之后,数组长度要减少
//如果数组初始长度比有数的长,减少数据时,数据末尾会是初始默认值0
//就像数组的长度没变
if(delIndex>-1){
n--;
}
}
}
int [] a= new int[9999];//定义数组
int n=0;//计算数组存入数据的长度
//添加数据
public void insert(int value){
a[n] = value;//插入数据
n++;//长度增加
//下次赋值时,就到数组末尾了
if(n==a.length-1){
//在new int[长度原数组两倍]
int [] b= new int[a.length*2];
for(int i = 0; i < n; i++){
b[i] =a[i];
}
//b数据的引用,交给a
//原来a数组没有了引用,就会被销毁
//出了大括号b的名字就会被销毁,引用交给a
a=b;
}
}
//寻找值
public boolean find(int key){//传入寻找的数据
int i;
for(i=0;i<n;i++){
if(a[i]==key){
//找到了
break;
}
}
if(i<n){//找到数据,for没有循环到结尾,就结束了
return true;
}else {
return false;//i=n,for循环到结尾也没有找到数据
}
}
//寻找值下标
public int findKey( int key){
int i;
for(i=0;i<n;i++){
if(a[i]==key){
return i;//找到数据返回下标
}
}
return -1;//没有找到数据返回-1
}
//遍历输出数据
public void display(){
for( int i=0;i<n;i++){
System.out.print(a[i] + "\t");
}
}
public void delete (int value){
//基本删除
//删除掉的数据的位置无法再次添加数据
//有空间浪费
// int delIndex = findKey(value);
// a[delIndex] = -1;
//节省空间的方式
//要删除的这个下标位其后的数据,向前移
//1.找到这个要删除的数据的下标
int delIndex = findKey(value);
//2.从这个要删除下标+1开始循环
//3.遍历到每个元素,都向前移
// a=new int[]{44,55,78};
for(int i=delIndex+1; i<n; i++){
//a[i]==99;
a[i-1] = a[i];
a[i]=0;
}
//删除元素之后,数组长度要减少
//如果数组初始长度比有数的长,减少数据时,数据末尾会是初始默认值0
//就像数组的长度没变
if(delIndex>-1){
n--;
}
}
}