求: 删除顺序表中值相同的节点的算法 要C++的

来源:百度知道 编辑:UC知道 时间:2024/05/21 09:01:27
编写算法实现将顺序表中值重复的结点删除,使所得结果表中各结点值均不相同。

谢谢了!

实现从表中删除所有其值重复的元素的函数如下:
template<Type> void SeqList<Type> :: DelDouble ( ) {
if ( last == -1 )
{ cerr << “List is empty!” << endl; exit(1); }
int i = 0, j, k; Type temp;
while ( i <= last ) { //循环检测
j = i + 1; temp = data[ i ];
while ( j <= last ) { //对于每一个i, 重复检测一遍后续元素
if ( temp == data[j] ) { //如果相等, 后续元素前移
for ( k = j+1; k <= last; k++ ) data[k-1] = data[k];
last--; //表最后元素位置减1
}
else j++;
}
i++; //检测完data[ i ], 检测下一个
}
}

template<Type> void SeqList<Type> :: DelDouble ( ) {
if ( last == -1 )
{ c