顺序表

Java数据结构

顺序表

代码:

package dataStructure;

public class Sequence_table {
private Object [] arry;
private int length;
private int size;
public Sequence_table(int length){
arry=new Object[length];
this.size=length;
}
//返回长度
public int getLength(){return this.length;}
//初始化
public void clear(){
this.length=0;
arry=new Object[size];
}
//删除顺序表中的某个值
public void delete(Object o){
if(o!=null){
boolean falg=false;
int i;
for(i=0;i< arry.length;i++){
if(arry[i].equals(o)){
arry[i]=null;
falg=true;
}
}
if(falg){
while (i<arry.length-1){
arry[i]=arry[i+1];
i++;
}
arry[arry.length-1]=null;
this.length–;
return;
}
}
}
//删除指定位置的值
public Object delete(int index){
Object obj=null;
if(index>=0&&index< arry.length){
obj=arry[index];
while(index< arry.length-1){
arry[index]=arry[index+1];
index++;
}
arry[arry.length-1]=null;
}
this.length–;
return obj;
}
//初始添加值
public void insert(Object o){
this.arryChange();
arry[length]=o;
length++;
}
//修改指定位置的元素值
public void insert(int index,Object o){
if(index>=0&&index< arry.length){
arry[index]=o;
}else{
System.out.println(“没有该位置!”);
}
}
//查找某个位置的值
public Object find(int index){
if(index>=0&&index< arry.length){
return arry[index];
}else{
System.out.println(“查找位置错误”);
}
return null;
}
public void arryChange(){
//根据length变量来决定它的数据下标,因为初始化的时候length=0,每次添加或者删除都会对length变量进行修改
if(this.length>= arry.length){
int v=(int)(arry.length*1.5);
Object [] arry1=new Object[v];
for(int i=0;i<arry.length;i++){
arry1[i]=arry[i];
}
arry=arry1;
}
}
public static void main(String [] rags){
Sequence_table a=new Sequence_table(4);
a.insert(1);
a.insert(2);
a.insert(3);
a.insert(4);
System.out.println(“顺序表长度为:”+a.getLength());
a.delete(2);
System.out.println(“顺序表长度为:”+a.getLength());
a.insert(2,66);
System.out.println(“该位置的值为:”+a.find(2));
}
}

运行结果

在这里插入图片描述

时间:2021年2月7日 星期天

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值