河南成教 / 河南理工大学
8[应用题]
分别在下面的程序基础上编写在顺序表和带头结点的单链表上删除其值等于x的所有元素。
/*从顺序表中删除具有给定值x的所有元素*/
void Deletel(sqlist &L.datatype x)
{ i,j=0;
(i.last)
{if (L.data[i]==x) /*删除下标为i的元素*/
{for(j=i 1;j.last;j )
L.data[j-1]= ;L.last——;
}
else
;
}
}
/*从单链表中删除具有给定值的x的所有元素*/
void Deletel(lklist &HL,datatype x)
{node *p=HL.head;
node *q;
(p—>next!=NULL)
{ =p—>next;
if (q—>data==x)/*删除p的后继结点,即q结点*/
{p—>next=q—>next;
q;
}
p=p—>next;
}
}
8[应用题]
分别在下面的程序基础上编写在顺序表和带头结点的单链表上删除其值等于x的所有元素。
/*从顺序表中删除具有给定值x的所有元素*/
void Deletel(sqlist &L.datatype x)
{ i,j=0;
(i.last)
{if (L.data[i]==x) /*删除下标为i的元素*/
{for(j=i 1;j.last;j )
L.data[j-1]= ;L.last——;
}
else
;
}
}
/*从单链表中删除具有给定值的x的所有元素*/
void Deletel(lklist &HL,datatype x)
{node *p=HL.head;
node *q;
(p—>next!=NULL)
{ =p—>next;
if (q—>data==x)/*删除p的后继结点,即q结点*/
{p—>next=q—>next;
q;
}
p=p—>next;
}
}
参考答案: