线性表的删除元素验证及修改


#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;
            }
            
        }
    }
}