2.22 顺序表的插入操作
一、基本理解
补:在第i个位置插入元素,则将第i个元素及之后的所有元素依次往后移动一个位置
①定义一个顺序表,假设此时有一逻辑结构abdef,则存放顺序如下图
②要进行一个插入操作,往顺序表的第三个位置插入一个数据元素c
③因为顺序表,用存储位置的相邻来体现数据元素之间的逻辑关系(顺序存储),所以插入c时,要先把def顺序往后移,使得c为b的后继节点,d的前继结点
二、具体代码实现
①总体代码理解:
SqList定义顺序表方法,void ListInsert()实现元素的插入操作,mian()声明并初始化一个顺序表,省略插入几个数据元素的步骤,此时插入了五个元素,length=5,ListInsert()实现往第3个位置插入元素3
②定义一个for循环,实现在第i个位置插入新元素,此时i=3,插入元素为e
--j=5>i,则执行for循环,j--,直到j=length=2,停止执行for循环
③第一次执行,把data4的数据赋值给data5,即第5个元素往后移了一位
④往后以此类推,直到j=2,结束,第3个位置空了出来
2401_83294793: 删除的时候不用考虑顺序表为空吗
寒生秋水124: 数据大的怎么做
c嘎嘎之父: p是尾结点怎么办?
Vivian琦: 但是这个数据大的也做不了
CSDN-Ada助手: 推荐 Java 技能树:https://edu.csdn.net/skill/java?utm_source=AI_act_java