设计算法,删除顺序表中值为X的所有结点

来源:百度知道 编辑:UC知道 时间:2024/05/17 22:57:58

顺序表,循环一下不就是了,遇到等于X的结点就将后面的都往前移一个就是了

for(i=0;i<Len;i++) /*检查数据中是否还有x值*/
{if(a[i]==x)/*如果相等就向前覆盖*/
{for(j=i;j<Len;j++)a[j]=a[j+1];
i-=1; /*为了避免a[i]后面的值还是x。*/
}
}

BOOL DeteleNode(Node *pHeader, DataType Value)
{
if (pHeader == NULL) return;
BOOL bRet = FALSE;
Node *pNode = pHead;
while (pNode != NULL)
{
if (pNode->data == Value)
{
if (pNode->front == NULL)
{
pHeader = pNode->next;
pHeader->front = NULL;
}
else
{
if (pNode->next != NULL)
{
pNode->next->front = pNode->front;
}
pNode->front->next = pNode->next;
}
Node *pNextNod