数据结构1



今天看了下数据结构java描述的开头,拿代码理解一下,看起来很简单,但是思路很重要。

public class SeqList implements List{

@Override
 public List subList(int fromIndex, int toIndex) {
  // TODO Auto-generated method stub
  return null;
 }
 final int defaultSize = 10;
 int maxSize;
 int size;
 Object[]listArray;
 public SeqList(){
  initiate(defaultSize);
 }
 public SeqList(int size){
  initiate(size);
 }
 //构造方法初始化,默认值为10,同时创建10个对象,size默认为0
 private void initiate(int s){
  maxSize=s;
  size=0;
  listArray=new Object[s];
 }
 //插入操作,传入位置和对象,
 public void insert(int i,Object obj)throws Exception{
  //如果顺序表满了酒抛异常,简单for循环
  if(size==maxSize){
   throw new Exception("顺序表已经满无法插入!");
  }
  //传入的参数不能小于零或者不能比列表长度长
  if(i<0||i>size){
   throw new Exception("参数错误!");
  }
  //定义变量初始值为0,根据位置来调整移动的次数,插入都往后面移动,然后进行插入。
  for(int j=size;j>i;j--){
   listArray[j]=listArray[j-1];
  }
  listArray[i]=obj;
  size++;
 }
 //删除和插入类似,移除的时候总体减少了一,所以移动的次数为总体减一
 public Object delete(int i) throws Exception{
  if(size==0){
   throw new Exception("顺序表已经空了,无法删除!");
  }
  if(i<0||i>size-1){
   throw new Exception("参数错误!");
  }
  Object it = listArray[i];
  for(int j=i;j<size-1;j++){
   listArray[j] = listArray[j+1];
  }
  //总体的size每次都减一
  size--;
  return it;
 }
 //输出列表
 public Object getData(int i)throws Exception{
  if(i<0||i>=size){
   throw new Exception("参数错误!");
  }
  return listArray[i];
 }
 public int size(){
  return size;
 }
 public boolean isEmpty(){
  return size==0;
 }
 //批量删除,遍历列表,逐个删除
 public int MoreDataDelete(SeqList L,Object x) throws Exception{
  int i,j;
  int tag = 0;
  for(i=0;i<L.size();i++){
   if(x.equals(i)){
    L.delete(i);
    i--;
    tag = 1;
   }
  }
 return tag;
 }
}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

星月IWJ

曾梦想杖键走天涯,如今加班又挨

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值