| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1139 人关注过本帖
标题:一个逆置问题
只看楼主 加入收藏
欧罗
Rank: 1
等 级:新手上路
帖 子:27
专家分:0
注 册:2006-5-18
收藏
 问题点数:0 回复次数:11 
一个逆置问题

ReverseList(struct LNode *L)

{

struct LNode *p=L;

struct LNode *q=L;

struct LNode *s=L;

while (p->next)

{

p=p->next;

}

while ( s->next!=p )

{

q=s->next;

s->next=q->next;

q->next=p->next;

p->next=q;

}

}

在上面程序中,q->next 给了s->next,难道中间指针没有断开吗,p->next给了q->next 使q->next为空,那p->next 是否为空呢.

搜索更多相关主题的帖子: face 
2006-06-01 19:44
论坛
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:1372
专家分:0
注 册:2006-3-27
收藏
得分:0 
到C论坛去搜索我的贴,单链表逆序,有完整程序

日出东方,唯我不败! 做任何东西都是耐得住寂寞,任何一个行业要有十年以上的积累才能成为专家
2006-06-01 19:47
starrysky
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:华中科技大学EI -T0405
等 级:版主
威 望:11
帖 子:602
专家分:1
注 册:2005-9-12
收藏
得分:0 
以下是引用欧罗在2006-6-1 19:44:00的发言:

ReverseList(struct LNode *L)

{

struct LNode *p=L;

struct LNode *q=L;

struct LNode *s=L;

while (p->next)

{

p=p->next;

}

while ( s->next!=p )

{

q=s->next;

s->next=q->next;

q->next=p->next;

p->next=q;

}

}

在上面程序中,q->next 给了s->next,难道中间指针没有断开吗,p->next给了q->next 使q->next为空,那p->next 是否为空呢.

这个函数有问题,似乎没写完。p->next 是否为空似乎没多打影响。
判断这个程序的时候,while ( s->next!=p ){}这部分一定要看循环两次以上的情况,不然很难正确判断.循环完成后s指向第一个节点,p指向最后一个节点,s->next指向倒数第2个节点,q指向倒数第3个节点。从第2个节点到第倒数第3个节点已经完成逆转置,但第一个节点没和第2个节点连起来,最后两个节点没有完成逆转置。函数也没有返回逆转置后新链表的头节点地址。

[此贴子已经被作者于2006-6-1 21:34:05编辑过]


我的征途是星辰大海
2006-06-01 21:25
starrysky
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:华中科技大学EI -T0405
等 级:版主
威 望:11
帖 子:602
专家分:1
注 册:2005-9-12
收藏
得分:0 
以下是引用论坛在2006-6-1 19:47:00的发言:
到C论坛去搜索我的贴,单链表逆序,有完整程序

数据结构版面有关这个问题的帖子还少吗?
为什么要到C论坛去搜?


我的征途是星辰大海
2006-06-01 21:27
SunShining
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:31
帖 子:2215
专家分:0
注 册:2006-2-17
收藏
得分:0 

花个图重写.太多没有考虑!

[此贴子已经被作者于2006-6-1 21:45:22编辑过]


[glow=255,violet,2]闭关修炼ing...[/glow] [FLASH=360,180]http://www./chinaren.swf[/FLASH]
2006-06-01 21:42
starrysky
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:华中科技大学EI -T0405
等 级:版主
威 望:11
帖 子:602
专家分:1
注 册:2005-9-12
收藏
得分:0 
老黄历了,好象还是我刚到论坛来的时候发的(该不会是我的处女帖吧)
http://www.bc-cn.net/bbs/dispbbs.asp?boardID=179&ID=27333&page=25

我的征途是星辰大海
2006-06-01 22:02
菜鸟上路
Rank: 4
等 级:贵宾
威 望:14
帖 子:1120
专家分:0
注 册:2006-3-21
收藏
得分:0 

这个函数绝对没问题!我运行了很多次,结果都是正确的。强烈要求两位斑竹可以去试下!!!


2006-06-01 22:56
菜鸟上路
Rank: 4
等 级:贵宾
威 望:14
帖 子:1120
专家分:0
注 册:2006-3-21
收藏
得分:0 

11点就要熄灯了,明天再来看。


2006-06-01 22:57
starrysky
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:华中科技大学EI -T0405
等 级:版主
威 望:11
帖 子:602
专家分:1
注 册:2005-9-12
收藏
得分:0 
好,我找个例子来试下

我的征途是星辰大海
2006-06-01 23:00
SunShining
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:31
帖 子:2215
专家分:0
注 册:2006-2-17
收藏
得分:0 
算法是对的.不过是有表头结点的情况下

如果无头结点则算法错误!(给我俩找个台阶下)

汗啊..有表头结点的链表不说清楚..

不过我们也确实没有仔细看..Sorry


[此贴子已经被作者于2006-6-2 10:08:45编辑过]


[glow=255,violet,2]闭关修炼ing...[/glow] [FLASH=360,180]http://www./chinaren.swf[/FLASH]
2006-06-01 23:45
快速回复:一个逆置问题
数据加载中...
 
   



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

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