已知顺序表a,设计一个算法删除顺序中直为item的数据元素

如题所述

第1个回答  2014-09-15
int DelElem(SqList &L,ElemType item)
{ int i=0,j;

if (L.length==0) return 0;
while( i<L.length && L.data[i]!=item)
i++;
if (i>=L.length) return 0;
else i++;
for(j=i;j<L.length;j++)
L.data[j-1]=L.data[j];
L.length--;
return 1;
}本回答被网友采纳
第2个回答  推荐于2016-05-27
//节点类型定义
typedef struct LinkNode_s
{
LinkNode_s * next;
int data;
} LinkNode

//删除数值为value的节点
//遍历list,查找节点值为value的节点,然后删除
void deleteNode(LinkNode *head, int value)
{
ListNode *p,*q;
p = head;
while (p->next != NULL)
{
if (p->next->data == value)
{
q=p->next;
p->next=p->next->next; //删除指定的字符
free(q);
}
else
{
p=p->next; //不删除,只是指针后移
}
}
}