| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 406 人关注过本帖
标题:[求助]这单链表题这样做对吗?
取消只看楼主 加入收藏
talentzhu
Rank: 1
等 级:新手上路
帖 子:59
专家分:0
注 册:2007-5-12
收藏
 问题点数:0 回复次数:2 
[求助]这单链表题这样做对吗?


问题:
一、单链表的操作:
1、建立带头结点的单链表h;
2、输出单链表h中所有结点的数据域;
3、输入x,y在第一个结点x后插入结点y,若无结点x,则在表尾插入结点y;
4、输入k,删除单链表中所有的数据域为k的结点,并输出被删除结点的个数。


#include<stdlib.h>
typedel struct Node
{
int a;
struct Node *next}*LineNode;
main()
{
int d,i,x,y,k;
LineNode p,p1,head;
if(!(head=p=(LineNode)malloc(sizef(LineNode))))
return ERROR;
p->next=Null;
scanf(p-date);
printf("do you want to continue? otherwise enter 0");
scanf("%d",&d);
while(d)
{
if(!(p=p-next=(LineNode)malloc(sizef(LineNode))))
return ERROR;
scanf("%d",p->date);
printf("do you want to continue? otherwise enter 0");
scanf("%d",&d);
}
p-next=Null;


p=head;
for(i=1;p->next;i++)
{
printf("node %d date:%d",i,p->date);
p=p->next;
}
printf("node %d date:%d",i+1,p->date);
p=head;

printf("input x ang y");
scanf("%d%d"&x,&y);
for(;p->next;)
{
if(p->date==x)
{
if(!(p1=(LineNode)malloc(sizef(LineNode))))
return ERROR;
p1->date=y;
p1->next->p->next->next;
p->next=p1;
break;
}
p=p->next;
}
if(p->next==NULL)
{
if(!(p1=(LineNode)malloc(sizef(LineNode))))
return ERROR;
p1->date=y;
p->next=p1;
p1->next=NELL;
}

p=head;i=0;
printf("input the date k you want to delete\n");
scanf("%d",&k};
for(;1;)
{
if(head->date==k)
{
i++;
head=p=p->next;
}
else
break;

}
fpr(;1;)
{
if(p->next->date==k)
i++;
p->next=p->next->next;
p=p->next;
if(p->next==NULL)break;

}
printf("%d node had been deleted",i) ;

}


搜索更多相关主题的帖子: 单链 
2007-10-14 23:20
talentzhu
Rank: 1
等 级:新手上路
帖 子:59
专家分:0
注 册:2007-5-12
收藏
得分:0 

我也想自己测试,可电脑不知怎地用不了C程序了

2007-10-15 08:29
talentzhu
Rank: 1
等 级:新手上路
帖 子:59
专家分:0
注 册:2007-5-12
收藏
得分:0 
第四行大错了,应该是int date;才对
2007-10-15 08:30
快速回复:[求助]这单链表题这样做对吗?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016314 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved