从有序顺序表中删除所有其值重复的元素,使表中的所有元素的值均不相同
//有序顺序表 删除重复值的元素,使表中元素各不相同 void Delet_repeat(Sq &s){ int k =0; for(int i=0;i<s.length;i++){ while(s.A[i]==s.A[i+1]){ i++; } s.A[k] = s.A[i]; k++; } s.length=k; }
解析:因为表是 有序的顺序表,所有值是照大小规律进行排列,只需要在遍历的时候,进行判断-当前元素与后一位元素是否相同,若相同就继续判断,直到找到两个值不相同元素,之后就是赋值。
最后别忘了修改表长
原文:https://www.cnblogs.com/qing-mo/p/10916595.html