我想问一道关于数据结构的题~~~高手帮忙呀~~~没分了~~~求救呀 帮我看看DELE函数哪里出错了

/*2.单链表的练习二:(1)编写算法,创建带头结点的单链表,其结点结构如下:*/typedefcharelemtype;typedefstructnode{elemty... /*2.单链表的练习二:
(1) 编写算法,创建带头结点的单链表,其结点结构如下:*/
typedef char elemtype;
typedef struct node
{
elemtype data;
struct node *link;
}NODE;

NODE * inte()
{
NODE *p,*t,*head;
head=(NODE*)malloc(sizeof(NODE));
head->link=NULL;
t=head;
while(1)
{
p=(NODE*)malloc(sizeof(NODE));
printf("请输入信息:\n");
fflush(stdin);
scanf("%c",&p->data);
p->link=NULL;
t->link=p;
t=p;
fflush(stdin);
printf("还要继续输入吗?(y/n)\n");
fflush(stdin);
if(getchar()=='n')
break;
}
return(head);
}

void view(NODE *head)
{
NODE *p=head->link;
while(p)
{
printf("%c ",p->data);
p=p->link;

}
}
NODE * dele(NODE *head,NODE *other)
{
NODE *h,*p,*q=head;
for(h=head->link;h->link!=NULL;h=h->link)
{
q=q->link;
for(p=other->link;p->link!=NULL;p=p->link)
{

if(p->data==h->data)
{
q->link=h->link;
break;
}
}
}
return(head);
}

void main()
{
NODE *head,*other,*x;
head=inte();
view(head);
printf("\n-------------------------\n");
other=inte();
view(other);
printf("\n-------------------------\n");
x=dele(head,other);
view(x);
}
/*(2) 编写算法,遍历单链表,输出所有结点的信息.*/
/*(3) 用上述创建算法,创建两条单链表a,b.编写算法,删除a中所有同时出现在a,b两条
链上的数据。*/
展开
 我来答
斯叶忍0h
2010-12-08 · 超过22用户采纳过TA的回答
知道答主
回答量:71
采纳率:0%
帮助的人:55.5万
展开全部
for(h=head->link;h->link!=NULL;h=h->link)
{
q=q->link;
for(p=other->link;p->link!=NULL;p=p->link)
{

if(p->data==h->data)
{
q->link=h->link;
break;
}
}
}
for语句不能这么用
应该用while实现
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式