顺序表的删除
开发工具与关键技术:Visual Studio / 元素按顺序存放地址连续
作者:郑名方
撰写时间:2020年5月18日
大家还记得顺序表的特点:所有的元素紧密保存在一起/元素按顺序存放地址连续。
我们本次所说的是顺序表的删除。
假设他们的地址是连续的是连续的空间。如果我们想删除其中一个元素,那么就存在一个问题,删除顺序表的一个元素不难,但是空出来的位置就让它在那里吗?答案是不可以的。因为那样就违背了顺序表的原则。
顺序表例如说顺序表0~7,假设我们想要删除3这个位置的元素也就是说对应3位置的元素要被删除掉,那么原本3这个位置的元素它是要消失呢还是保留呢…还有就是删除一个元素之后的每一个元素都往前移一格。
我们还有考虑两个细节:
第一个是我们删除掉的元素是否保留备份要不然删除掉的元素就永远没有了就是以后需要也找不回来。所以一定要记得备份;
第二个是我们删除之后的元素是否要挨个往前移一格,这样才能保证顺序表所有的元素紧密保存在一起/元素按顺序存放地址连续存放的特点。
下面两张图片是顺序表删除元素的前后。
还有顺序表删除元素的代码是针对图中i是它要删除的元素的所在位置,然后delete表示删除,还有上面提到要把删除的元素备份用到地是ListArray。因为顺序表已经被删除的元素作为返回值。
还有顺序表原本是0~7这几个元素位置那删除了其中一个元素可以,但是位置是不能删除的要跟原来的一样。
还有就是如果顺序表原来就是空的,那就没有所谓删除元素了因为size=0了。