今日总结:
1,顺序表的插入,是把第i个元素之后的元素全部后移,把第i个元素改为插入的值,总长度加一
2,顺序表的删除,是把被删除的元素赋值给变量,再将第i个元素后的元素前移,总长度减一
2021.12.20补充:
1,顺序表的定义时,为啥要用宏定义最大数组长度,而不用整型变量?
答:使用宏是一种预处理,编译器不会处理,它不占用空间,而用变量,系统会分配空间
2,如果顺序表的元素未初始化会怎样?
答:如果没有初始化,系统只是分配了一片空间,但可能会有遗留的"脏数据",事实上不需要进行元素的初始化,因为访问不到,但是当前长度必须设为初始值0
3,静态分配,如果"数组"存满了怎么办?
答:直接放弃
追问:如果一开始就申请很大的内存空间呢?
追答:会造成浪费
2022.1.22补充:
1,顺序表的实现有两种方式,静态分配和动态分配,区别在于动态分配多定义了一个指针,这个指针指向分配空间的首地址,所以,当需要增加空间时,只需要将指针指向新的分配空间首地址就行。
2,为了提高代码的健壮性,顺序表的插入删除操作需要考虑插入删除的位序范围,若超出范围,可以报错。
自学数据结构第一天
于 2021-12-16 22:08:59 首次发布