下面的程序 有三句不明白是什么意思 请指教 谢谢! p->next=L->next; L->next=p; L=L->next;

作者&投稿:蔽婉 (若有异议请与网页底部的电邮联系)
p->next=l->next是什么意思~

L->next=p,这是结构体里的,“->”是指向运算符,L->next的意思是L指向一个结构体变量的成员next,而L->next表示一个指针(即地址),结构体变量的成员next的地址,L->next=p的意思就是将p的地址赋给它,这个在链表中是常用的

题目是单链表逆置,这个程序实现了 A->B->C->D->null; 变成 null<-A<-B<-C<-D


具体到程序,假设有个链表 A->B->C->D->null,一开始 L 作为参数传入进来,那么就是
L->A->B->C->D->null
p=L; //执行 p = L; 即将 p 和 L 执行同一个链表,此时 L(p)->A->B->C->D->null

p=p->next; // 此时 L->A->B->C->D->null 而 p 指向 B 了
// 从p 看来,链表是 p->B->C->D->null

L->next=NULL; // 链表变成了2根 : nullB->C->D->null

接下来循环从 p 的链条中取出一个元素,放入 L 链条中,然后调整 L 的位置,直到 p 指向 null 时为止,过程如下:
nullC->D->null
nullD->null
nullnull

整个的意思是,生成一个新的节点,并将其插入到数据链中(应该是一个闭合的链,就是头尾相连)。

L是整个链中的初始节点,仅一个节点时,节点的next指向自己。也作为最后一个节点。
新节点p,将被作为最后一个节点插入数据链中。

RLinkList p= (RLinkList) malloc ( sizeof(RLNode) );//生成数据节点空间
p->data=t; //保存节点的数据,t是输入的数据,也是节点中的数据
p->next=L->next; // L代表最后一个节点(应该是last的字头),L的next是指向头的,p将作为最后一个节点
L->next=p; // p将作为L的下一个节点,即新的最后一个节点
L=L->next; // 将最后一个节点设置为p,此句实际上就是, L=p;

好长啊,我看你问题中的三句了,p->next=L->next; L->next=p; L=L->next;
如果p和l都是指向节点的指针,你是在做链表创建函数的话,

这3句就是把现在新创建的节点的地址值给前一个节点的next指针,
然后把新建的节点地址值给当前用的用做循环的一个指针,让这个指针指向的节点在下次循环时变成当前节点

p->next=L->next; 是把L的下一个结点赋给p
L->next=p; 是把p赋给L的下个节点
L=L->next;把L的下个结点赋给L


江阳区15558874367: 下面程序是网站公告调用的内容,有几句不明白什么意思
廉毓欣诺: 这个ID号是 在表 Inemd_news 里的第13条数据嗯 这段程序的意思应该是读取ID13数据 把ID13数据的 content内容作为公告输出 你如果想修改公告 就需要把最新的ID查出来 赋给 ID=""

江阳区15558874367: 单片机以及lcd显示屏的初始化程序 -
廉毓欣诺: IE=0X81;(1000 0001)中断允许寄存器,允许外部中断0 IP=0X01;(0000 0001)中断优先级寄存器,外部中断0高优先级 TCON=0X00;

江阳区15558874367: Matlab程序中temp(ic)= [data id]= out(ir) = Data(ir,id);这三句看不懂 程序为求Data每行出现最多的数
廉毓欣诺: 1、第一句: temp(ic) = size(find(Data(ir,:) == Data(ir,ic)),2);以ir=1,ic=2为例说明 >> Data(1,:)%第一行所有的数ans = 1 2 3 2 2 >> Data(1,2)%第一行第二列的数ans = 2 >> find(Data(1,:) == Data(1,2))%找出 “Data(1,:)中大小为Data(1,2...

江阳区15558874367: 请问高手这下面三行代码的含义
廉毓欣诺: 我想说的是..三句是一个意思...实例化某个类比如OperatorClass是类名,operatorclass是在这里实例化而给类起的名字

江阳区15558874367: 帮忙详细述说一下下面的程序的意思,最主要的是不明白do until的用法及意思,我只有15分,各位大神帮下忙 -
廉毓欣诺: 其实就是 do while () 循环的意思,一定会执行第一次.中文意思: 执行 .....一直到...然后会如何如何 例子中的: 当a>10 ....

江阳区15558874367: 急!!!求Java高手解释下面三个语句的含义, -
廉毓欣诺: 第一句是将_key变量强制转换为Text类型 赋给新声明的Text类型变量 key 第二句是调用output对象的collect方法,该方法有两个参数分别为Text类型和IntWritable类型,传入Text类型变量key 和 调用构造器新建的new IntWritable(sum)对象,第三句尖括号中使用的是 泛型 ,泛型是在编写类或接口时用到某些不确定类型的值 使用泛型代替 引用这些使用了泛型的类或接口时,根据实际情况给泛型赋予明确的类型 以保证程序运行的正确性

江阳区15558874367: C语言中程序一部分不明白它到底是什么意思.谁能帮我解释下.要详细.
廉毓欣诺: 这么简单一句话,哪个不明白,while 就是循环,*是取指针指向的变量的值,j++是自增,+是加法

江阳区15558874367: C语言中程序一部分不明白它到底是什么意思谁能帮我解释下要详细
廉毓欣诺: 这么简单一句话哪个不明白while 就是轮回*是取指针指向的变量的值j 是自增 是加法

江阳区15558874367: 求助各位高手,帮忙解释一下这个程序,详细点更好,还有后面的while(!s3);语句,一直看不明白什么意思. -
廉毓欣诺: void keycan1(){ uint i; //声明一个unsigned int类型的变量...

江阳区15558874367: 单片机1602液晶显示中下面的程序什么意思?不明白啊 ? 下面带问号都不会啊 -
廉毓欣诺: 不好意思,您的经验真得很不够,这是十分简单的程序,你不懂估计是没有去看液晶的数据手册,或者懒得去看,都是不好的.../******************************************************************//* 写入字节函数 *//************************************************...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网