顺序表的插入和删除

顺序表的插入和删除

一、首先了解到线性表两种存储方式,一种是顺序表的形式,另一种是链表的形式。顺序表的特点是元素按顺序存放且地址连续。

1.顺序表的插入

Size是实际的元素个数,到i这个位置后每一个往后移一个元素,移动是因为要留出i这个位置空出来,然后把要插入的对象复制放进去。

Public void insert(int I , Object x ) throws Exception {

   .

. . . .

          省略i的合理范围,1、例如图中所示,0 到 6 都是合法范围。2、如果存储空间已经满了就不能插如元素了。

. . . . .

          for(int j = size; j > i : j--){

          listArray[j]=listArray[j-1];

}

listArray[i] = x;

size ++;

}
在这里插入图片描述

2、顺序表的删除

函数 delete(int i)是针对i是它要删除的元素的位置,首先要把i这个位置备份,然后循环查找i的位置,每循环一遍就要把j的位置往前移一格,完成后整个元素的数量就要减一,因为删除了一个嘛。



  Public Object delete(int i) throws Exception{

          ……

          同样的这里省略的是删除i的合理范围

          ……

          Object it = listArray[i];//备份删除的元素

          For(int j = i ; j < size – 1; j ++)

                 listArray[j] = listArray[j + 1 ];

          size --;
          return it;
          }

只能删除小于等于六的元素,每删除一个元素后,后面跟着的所有元素都会向前移动一格,但空的空间是不能删除的。如果顺序表是空的,那也无所谓有删除了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值