题目:删除表中重复出现的元素
解题思路:从线性表的第1个元素开始到最后1个元素为止,依次检查在某元素后面的元素中是否存在与之相同的元素,若存在,则删除后面那个元素,并且及时修改表的长度。
具体算法如下:
let arr = [1,2,3,4,5,6,7,8,9,10,3,5,6,11,13,35]
function purge(A) {
let n = A.length
let i=0,j
while( i<n ) {
j = i+1
while( j<n ){
if ( A[j] == A[i] ) {
n = deleteList(A,j+1).length
} else {
j++
}
}
i++
}
return A
}
purge(arr)
其中 deleteList(A,j+1)见 删除长度为n的线性表A的第i个数据元素
性能:
算法的时间复杂度为O(n2)