| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 800 人关注过本帖
标题:[求助]线性单链表逆转问题..
取消只看楼主 加入收藏
SunShining
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:31
帖 子:2215
专家分:0
注 册:2006-2-17
收藏
 问题点数:0 回复次数:1 
[求助]线性单链表逆转问题..

# include <stdio.h>
# include <stdlib.h>
struct dian
{ int d;
struct dian *next;} ;/*定义结构体*/


struct dian *nizhuan(struct dian *head)
{struct dian *p1,*p2,*p3;
if(head==0){printf("there is nothing\n"); return;}/*特殊情况..当链表为空*/
else if (head->next==0) return(head); /*特殊情况 当链表中只有一个结点*/
else {p1=head; p2=p3=head->next;}/* 给予位置 p1,p2,p3*/
while(p3!=0)
{p3=p2->next; p2->next=p1; p1=p2; p2=p3;}
head->next =0;
head=p1
;/*这我实在说不明白..大家画个图就明白了*/
return(head);}

main()
{ struct dian *head,*q1,*q2;
int x;
head=0;
scanf("%d",&x);
while(x!=0)
{q1=(struct dian *)malloc(sizeof(struct dian));/*主函数没有问题..我调试过了*/
q1->d=x;q1->next=0;
if (head==0) head=q2=q1;
else {q2->next=q1; q2=q2->next; }
scanf("%d",&x);}
nizhuan(head);

q2=head;
while(q2!=0)
{printf("%d",q2->d);
q2=q2->next;}

getch();
}

我感觉好象运行不到nizhuan 函数中..while语句以后..不知道什么问题..拜托大家了!


[此贴子已经被作者于2006-3-24 22:32:34编辑过]

搜索更多相关主题的帖子: 线性 单链 
2006-03-24 21:48
SunShining
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:31
帖 子:2215
专家分:0
注 册:2006-2-17
收藏
得分:0 

晕了..就一步不一样..q2=nizhuan(head);

就这一点不一样..为什么我的就不行呢

能解释一下嘛~!!!


[glow=255,violet,2]闭关修炼ing...[/glow] [FLASH=360,180]http://www./chinaren.swf[/FLASH]
2006-03-25 08:39
快速回复:[求助]线性单链表逆转问题..
数据加载中...
 
   



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

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