已知长度为n的线性表a采用顺序存储结构,请写一个时间复杂度为o(n)、空间复杂度为o(1)的算法,该算法可删除线性表中所有值为item的数据元素。
时间: 2023-06-05 18:47:50 浏览: 142
数据结构课后习题2.doc
5星 · 资源好评率100%
算法步骤如下:
1. 定义两个指针i和j,初始值都为。
2. 从头到尾遍历线性表a,当a[i]不等于item时,将a[i]赋值给a[j],同时i和j都加1。
3. 当a[i]等于item时,只将i加1,不将a[i]赋值给a[j]。
4. 最后,将线性表a的长度更新为j,即可删除所有值为item的数据元素。
时间复杂度为O(n),空间复杂度为O(1)。
阅读全文