对于长度为n的顺序表L,编写一个算法,该算法删除线性表中的所有值为X的元素。
要求:时间复杂度O(n)
空间复杂度O(1)
算法思路:
方法一:用K记录L中不为X的元素的个数,即需要保存的元素的个数,边扫描边统计k,并将不等于X的元素向前移动k个位置,最后修改L长度,K表示不等于X的元素个数。
方法二:用G记录L中等于X的元素的个数,边扫描边统计G,并将不等于X的元素向前移动G个位置,,最后修改L的长度,G表示等于X的元素的个数。
时间复杂度O(n)
空间复杂度O(1)
对于长度为n的顺序表L,编写一个算法,该算法删除线性表中的所有值为X的元素。
要求:时间复杂度O(n)
空间复杂度O(1)
算法思路:
方法一:用K记录L中不为X的元素的个数,即需要保存的元素的个数,边扫描边统计k,并将不等于X的元素向前移动k个位置,最后修改L长度,K表示不等于X的元素个数。
方法二:用G记录L中等于X的元素的个数,边扫描边统计G,并将不等于X的元素向前移动G个位置,,最后修改L的长度,G表示等于X的元素的个数。
时间复杂度O(n)
空间复杂度O(1)