问题描述
删除有序顺序表表中值重复的元素,即重复元素只保留一个
代码
bool delrepeat(SqList &L){
ElemType a;
int count=0;//记录和某值重复的元素有几个
int minus=0;//记录一共删除几个元素
if(L.length==0){
return false;
}
for(int i=1;i<L.length;i++){
if(L.data[i]==L.data[i-1]){
count++;
minus++;
}
else{
L.data[i-count+1]=L.data[i];
count=0;
}
}
L.length-=minus;
return true;
}
该代码实现了一个函数`delrepeat`,用于删除有序顺序表中的重复元素。它遍历表,比较相邻元素,若相等则计数并删除,最后更新表的长度。
200

被折叠的 条评论
为什么被折叠?



