展开全部
假设有链表1 头结点指针为h,节点类型为
struct node{
int date;
struct node* next;
}创建链表过程就不写了,亲。
下面是删除元素x的C语言算法(将它写成函数形式):
void Delete_X(struct node* h,int x)
{
struct node *p,*q;
for(p=h,q=NULL;p;q=p,p=p->next){
if(p->date==x){
if(!q){ //如果删除的元素是头结点
h=q->next;
p->next=NULL;
} //endif
else{
q->next=p->next;
p->next=NULL;
} //endelse
} //endif
} //endfor
} //end
struct node{
int date;
struct node* next;
}创建链表过程就不写了,亲。
下面是删除元素x的C语言算法(将它写成函数形式):
void Delete_X(struct node* h,int x)
{
struct node *p,*q;
for(p=h,q=NULL;p;q=p,p=p->next){
if(p->date==x){
if(!q){ //如果删除的元素是头结点
h=q->next;
p->next=NULL;
} //endif
else{
q->next=p->next;
p->next=NULL;
} //endelse
} //endif
} //endfor
} //end
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询