关于顺序表清空的问题

为什么顺序表把元素个数设置为0就是清空顺序表?假如我先创建了一个非空顺序表,那长度设置为0后数据跑哪去了

因为元素访问都是按照元素个数来控制的,只要是数组,无论你是否进行初始化,内存里总是有值的,区别在于这个值是不是受你控制的

参考GPT和自己的思路:

顺序表是一种线性表结构,其中的元素在内存中是连续存储的。当我们把一个顺序表的元素个数设置为0时,只是将表内元素的数量清零,而不会删除内存中存储的数据。因此,该顺序表的内存空间中仍会保存之前插入的数据,只是这些数据现在还不能通过表来访问。

如果您要从内存中完全删除该顺序表的数据,请使用相应的垃圾回收方法。在一些编程语言中,例如Java,当没有任何变量引用该顺序表时,内存管理系统会自动将其回收。而在其他编程语言中,需要手动通过delete等方式来释放内存空间。

这样性能比较高。
在计算机里,这是常规操作——删除一个文件,没有必要把文件内容清空,而是只要标记这块地址未分配
释放内存,不需要将内存填入0,直接标记为无效
将字符串截断,只要从截取的地方后面加上一个\0,其余就不管了
后面的数据还在那里,直到你再次追加顺序表到那里去覆盖