社区
C语言
帖子详情
一个程序的实现?
liuweiwei1
2002-07-24 02:52:04
Lindlist Demo(Lindlist) {//L是无头结点的单链表
ListNode *Q,*P;
if(L&&L->next) {
Q=L;L->next;P=L;
whil(P->next) P=P->next;
P->next=Q; Q->next=NULL;
}
return L;
}//Deno
此程序实现功能:把单链表的第一个结点加到了链尾。返回的L指向原链表的第二个结点。
问题:为什么实现以上功能?
...全文
152
15
打赏
收藏
一个程序的实现?
Lindlist Demo(Lindlist) {//L是无头结点的单链表 ListNode *Q,*P; if(L&&L->next) { Q=L;L->next;P=L; whil(P->next) P=P->next; P->next=Q; Q->next=NULL; } return L; }//Deno 此程序实现功能:把单链表的第一个结点加到了链尾。返回的L指向原链表的第二个结点。 问题:为什么实现以上功能?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
15 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
stidio_zhougang
2002-09-01
打赏
举报
回复
让一个链表的头指针前移一个节点,把第一个节点放在最后一个位置。
也就是说如果原来的链表为:
1->2->3->4->5->6->7->8
运行这一部分后变为:
2->3->4->5->6->7->8->1
guanying
2002-09-01
打赏
举报
回复
单向链表。
liuweiwei1
2002-09-01
打赏
举报
回复
到底是不是循环?
JanePeter
2002-08-16
打赏
举报
回复
my god!
这个函数,在做这么复杂的东西干什么?
可以:1:先直接把链表指针指想第2个接点。
2:在用循环把一个指示指针搜索到表尾
3:把原来的头,放到表尾。
我认为这样比较逻辑清楚,并且这样的风格不错。
<The practice of programming>说,要清楚!逻辑越简单越好!
qfsb_p
2002-08-16
打赏
举报
回复
我也长了经验值,谢谢!
不解
2002-08-04
打赏
举报
回复
这有什么可以分析的,但链表操作,只是把头单元删除,又加到了尾部罢了!
glassshark
2002-07-27
打赏
举报
回复
环形链表。
apao
2002-07-25
打赏
举报
回复
bobob(bobob) 说得对,对不起,是我没看清楚。不过前面说的是对的
xiaoningyb
2002-07-24
打赏
举报
回复
注意:
Q是指向头接点
L=L->next让L指向第二个节点,
这时调用让p指向最后的节点,
然后让p指向q(即第一个节点)
返回L(即第二个节点的指针)
bobob
2002-07-24
打赏
举报
回复
apao(呆傻儿童) 你看清楚,最后q->next=null;哪来循环?!!
Lindlist Demo(Lindlist) {//L是无头结点的单链表
ListNode *Q,*P;
if(L&&L->next) {//如果L和L->next都不空,则:
Q=L; //让Q和L指向同一个单元!!
L=L->next; //L后移一个位置
P=L; //让此刻的L又和P指向同一个单元(第二个)
while(P->next)
{P=P->next;} //P此时指向最后一个单元
P->next=Q; //在P后增加一个接点Q(即第一个接点),此时为循环连表
Q->next=NULL; //让链表从第一个接点处断开!!!
}
return L;//返回原链表第二个接点的指针
}//Deno程序结束
Tipel
2002-07-24
打赏
举报
回复
画个图比较好理解
可是csdn的论坛上搞图太不方便
自己拿笔画一下吧
就照数据结构的方式画阿。
bary1980
2002-07-24
打赏
举报
回复
Lindlist Demo(Lindlist) {//L是无头结点的单链表
ListNode *Q,*P;
if(L&&L->next) {
Q=L;
L=L->next;
P=L;
while(P->next)
{P=P->next;}
P->next=Q;
Q->next=NULL;
}
return L;
}//Deno
从新写了,这样的格式比较清晰了
zersan
2002-07-24
打赏
举报
回复
看这种东西其实主要是逻辑要清晰
apao
2002-07-24
打赏
举报
回复
其实得到了一个单向循环链表
apao
2002-07-24
打赏
举报
回复
首先,"L->next;"这句是不是写错了?应该是"L=L->next;"吧?
执行了
Q=L;L=L->next;P=L;
whil(P->next) P=P->next;
后,L指向了原链表的第二个结点,而P指向最后一个节点。然后P->next=Q; Q->next=NULL;
因为Q是指向原链表第一个结点的,所以执行上面两句后,最后一个节点的next指向了第一个节点,即单链表的第一个结点加到了链尾;而L依然指向原链表的第二个结点。
基于微信小
程序
原生开发从头
实现
小
程序
常见功能(基础篇)
基于微信小
程序
原生开发从头
实现
小
程序
常见功能,包括小
程序
开发基础知识及常用开发功能如登录、找回密码、文件上传、多媒体功能、编辑表单、详情界面、列表界面等,并
实现
简单的在线预约系统相关功能,具体内容...
10分钟
实现
微信小
程序
支付功能
只需要
一个
简单的云函数,就可以轻松的
实现
微信小
程序
支付功能。 核心代码就下面这些 一,创建
一个
云开发小
程序
关于如何创建云开发小
程序
,这里我就不再做具体讲解。不知道怎么创建云开发小
程序
的同学,可以去翻看...
1小时入门最新小
程序
授权登录注册功能开发,并把注册记录添加到数据库
使用wx.getUserProfile解决老版本getUserInfo无法获取用户昵称和头像的问题.手把手带你
实现
微信小
程序
个人中心页。 新版微信小
程序
授权登录,退出,缓存,小
程序
个人... 能不能注册的时候,给用户分配
一个
QQ号功能?
小
程序
实现
大转盘抽奖·小
程序
云开发实战
实战小
程序
大转盘抽奖功能! 小
程序
端
实现
大转盘抽奖、查看抽奖规则、查看获奖记录 后台
实现
管理抽奖记录列表、管理奖品列表、管理动态变化转盘图片&指针图片&背景图片、管理抽奖规则
小
程序
列表数据分页加载、一次性请求全部数据库记录,小
程序
分页功能
实现
一、小
程序
一次性请求全部数据库记录 1.1 云开发
实现
1.2 非云开发
实现
(java、php、python...) 二、小
程序
列表数据分页加载 2.1 云开发
实现
2.2 非云开发
实现
(java、php、python...) 三、优化 优化提示:加载中...
C语言
69,371
社区成员
243,082
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章