顺序表,单链表的删除和插入

开发工具与关键技术:数据结构
作者:听民谣的老猫
撰写时间:2020.5.8

线性表

了解顺序表,单链表的删除和插入之前我们先简单了解一下,什么是线性表????

  1. 归属:线性表是数据结构的一种 。
  2. 基本运算:求表长,遍历,按编号查找,特征查找,插入,删除,排序。
  3. (https://baike.baidu.com/item/%E7%BA%BF%E6%80%A7%E8%A1%A8)主要不讲这个,给你们挂个传送门,不用谢。

 

顺序表,单链表

   线性表中常见的就是顺序表,单链表这两位了。在各个计算机语言中都有广泛使用

  1. 顺序表

顺序表你要简单的理解它的表现形式就是数组了,它是使用一组地址连续的存储单元依次存储数据元素,每个元素都前后有序、整整齐齐。要访问特定元素,可以使用索引访问(数组的味道),包括理解它的插入删除你都可以带着数组的思维理解

顺序表的插入

方法代码

插入数据元素insert(int I,object x)

Public void insert (int i,object x)throws exception       {…….

forint j = size; j>i:j--){ (size实际元素个数)

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

}

ListArray[i]=x;

Size++;

}

图解

理解:简单点就是你插入哪个位置  就把哪个位置空出来,这个位置后面的数的位置在原来的基础上加一,就和插队一样i就是你要插入的位置 size就是队伍的长度

方法代码为什么有省略号???

就是你要插入的位置不能大于实际元素个数,i的值不能大于size  这就更好理解了 你插队不可能插在最后面,假如队伍长度是6,难道队插在7???

顺序表的删除

方法代码

Public object delete(int i)throws exception  {…….

Object it = listArray[i]

for(int j =i:j<size-1:j++)

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

Size--; 

rturn it:

}

图解

顺序表的删除和插入差不多,队伍少了一个元素 那后面的元素就往前补,并且位置加一,同样删除的元素不能大于队伍的长度,和插入同理。

listArray[i]的作用: 备份删除元素,防止数据丢失

 

  1. 单链表的删除和插入

单链表的插入

单链表数据域(data) 存储元素的数组数据,指针域(next),单链表不像顺序表,它不需要地址连续的单元来存储线性表

图解:

 

  

你插入位置是三你要把你的数据域(data)赋值给你的前面元素的指针域(next),

同样你的指针域(next)获得你后面元素的数据域(data)

用图解来解释就是 你插入的元素在a2后面,a3前面  那么a2的指针域(next)的值变成了你的数据域(data)的值,同时你插入元素的指针域(next)的值也变成了a3的数据域(data)的值。

 

单链表的删除

理解:

删除就比较简单了 ,假如你删除元素位置2,那么就移除a2a2消失,那么a1的指针域(next)的值就变成了a3的数据域(data)的值;

 

这就是顺序表和链表的删除和插入

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值