#include<stdio.h>
#include"SqList.cpp"
void Deletex(SqList&L,ElemType x)
{ int i,k=0;
for(i=0;i<L.length;i++)
if(L.data[i]!=x)
{ L.data[k]=L.data[i];
k++;
}
L.length=k;
}
代码如上,这个是在顺序表L中删除值为x的元素,不知道验证它的代码应该是什么样,还有就是想问一下,如果是在一个顺序表中删除其中相同的元素(只保留第一个)应该怎么办,谢谢了
代码如下:
#include<stdio.h>
#include"SqList.cpp"
void Deletex(SqList&L,ElemType x)
{
int i,k=0;
int flag = 0;
for(i=0;i<L.length;i++)
{
if(L.data[i]==x)
{
if(flag == 0) //忽略第一个出现的x,如果不用忽略第一个x,把if删掉即可
{
flag = 1;
}else
{
for(k=i;k<L.length-1;k++)
L.data[k] = L.data[k+1];
L.length -= 1;
}
}
}
}