| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1985 人关注过本帖
标题:[求助]如何实现单链表的倒置?
只看楼主 加入收藏
小雨点的家
Rank: 1
等 级:新手上路
帖 子:42
专家分:0
注 册:2006-4-7
收藏
 问题点数:0 回复次数:9 
[求助]如何实现单链表的倒置?

这是我的程序,我不明白它是如何实现除头结点以外其它结点是如何实现倒置的?

void converse(LinkList *head)
{
LinkList *p,*q;
p=head->next;
head->next=NULL;
while(p!=NULL)
{
q=p->next;
p->next=head->next;
head->next=p;
p=q;
}
搜索更多相关主题的帖子: 单链 倒置 
2006-09-20 13:38
song4
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:38
帖 子:1533
专家分:4
注 册:2006-3-25
收藏
得分:0 
如何实现除头结点以外其它结点是如何实现倒置的?
意思是不是就是把除了head以外,其他的结点倒过来连接啊
head->5->4->3......
你自己画个图就好了

嵌入式 ARM 单片机 驱动 RT操作系统 J2ME LINUX  Symbian C C++ 数据结构 JAVA Oracle 设计模式 软件工程 JSP
2006-09-20 15:36
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
收藏
得分:0 

它是把所有head以后的结点从原链表中拆下链到head后面,这样不就倒置了.


倚天照海花无数,流水高山心自知。
2006-09-20 16:33
菜鸟上路
Rank: 4
等 级:贵宾
威 望:14
帖 子:1120
专家分:0
注 册:2006-3-21
收藏
得分:0 
[URL=http://www.]http://www.[/URL]

2006-09-20 16:56
小雨点的家
Rank: 1
等 级:新手上路
帖 子:42
专家分:0
注 册:2006-4-7
收藏
得分:0 
[求助]能不能说的更清楚一点的,我是新手
我是一个刚刚自学这的,我还是不够清楚,各位大虾能不能说的更清楚
2006-09-22 15:41
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
收藏
得分:0 

void fanxu_link_list(node **head)/*尾插反序*/
{ node *p;
node *pre;
node *p1;
p1=*head;
if(p1==NULL) {printf("The link is empty!");exit(1);}
p=p1->next; p1->next=NULL;
if(p!=NULL)pre=p;
while(p!=NULL)
{ p=p->next;
pre->next=p1;
p1=pre;

pre=p;
}
*head=p1;
}


void daozhilink(node **head) /***头插反序*****/
{ node *p1,*p2;
node *p3;
p3=*head;
if(p3==NULL) printf("The link is empty!");
else p1=p3->next;
p2=p1->next;p3->next=NULL;
while(p1!=NULL)
{ p1->next=p3;
p3=p1;
p1=p2;
p2=p2->next;
}
*head=p3;
}


倚天照海花无数,流水高山心自知。
2006-09-22 17:03
小雨点的家
Rank: 1
等 级:新手上路
帖 子:42
专家分:0
注 册:2006-4-7
收藏
得分:0 
以下是引用小雨点的家在2006-9-20 13:38:29的发言:

这是我的程序,我不明白它是如何实现除头结点以外其它结点是如何实现倒置的?

void converse(LinkList *head)
{
LinkList *p,*q;
p=head->next;
head->next=NULL;
while(p!=NULL)
{
q=p->next;
p->next=head->next;
head->next=p;
p=q;
}

我还是看我自己的这个程序,假设我有head,a1,a2,a3这几个结点,我不明白最后一个a3如何成为head->next的,希望各位高手能够一步一步的说明,我先谢谢各位了!

2006-09-26 21:54
小雨点的家
Rank: 1
等 级:新手上路
帖 子:42
专家分:0
注 册:2006-4-7
收藏
得分:0 
[原创]我终于明白了!
我是一个新手,在一些方面喜欢钻角尖,但是大家还是不怕麻烦的讲解给我听,我真的非常感谢!
其实这只是先把头结点断开,然后利用头插法就行了,但那是我就是转不过弯,呵呵!
2006-09-29 21:54
凌霄之誌
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:1
帖 子:145
专家分:895
注 册:2016-6-14
收藏
得分:0 

因为有悔,所以披星戴月;因为有梦,所以奋不顾身!!!
2016-11-28 12:03
凌霄之誌
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:1
帖 子:145
专家分:895
注 册:2016-6-14
收藏
得分:0 

因为有悔,所以披星戴月;因为有梦,所以奋不顾身!!!
2016-11-28 12:03
快速回复:[求助]如何实现单链表的倒置?
数据加载中...
 
   



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

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