要求:有序顺序表中删除值相同的元素
算法思想:类似于直接插入排序的思想,将第一个元素视为不重复的有序表,向后面依次比较,
若与前面的不重复有序表最后一个元素不同则插入到之前的表的表尾,若相同,则继续向后比较,找到不同的再插入
void delete(SqList &L)
{
int i,j;
i = 0,j = 1;
while(j < L.length)
{
if(L.data[i] != L.data[j])
L.data[++i] = L.data[j++];//不相同则插入表尾,同时ii指向不重复有序表的表尾,j向后移
j++;//相同则j向后移,i指向不重复有序表的表尾
}
L.length = i+1;//表长为不重复有序表表尾的下标加一
}