删除顺序表中值为x的元素

  • Post author:
  • Post category:其他



方法一:用k来记录顺序表中值等于x的元素个数。

void deleteX(SeqList&L,ElemType x)
{
int k=0;
for(int i=0;i<L.length;i++)
  {
    if(L.data[i]==x)
       k++;//k用来记录值等于x的元素个数
    else
      L.data[i-k]=L.data[i];//当前元素值往前移动k个位置
  }
L.length=L.length-k;//最终元素个数减少k个
}


方法二:用k来记录顺序表中值不等于x的元素个数

void deleteX(SeqList &L,ElemType x)
{
int k=0;
for(int i=0;i<L.length;i++)
  {
    if(L.data[i]!=x)
       L.data[k]=L.data[i];//不等于x的时候往前移
       k++;//用k来记录值不等于x的元素的个数
  }
L.Length=k;  



版权声明:本文为qq_44722109原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。