谁能帮我解释一下这啥意思啊例如q=p->next,L->next=p,p->next=L->next,p=q

gsky 2007-04-17 10:30:54
我是初学数据结构 老师讲时候能听明白是那么回事 就是说知道是如何实现那么个思想 但是实际自己再看的时候就很迷糊了 现在此时我举例说一下
单链表逆置 如下:
p=L->next->next;
q=p->next;
L->next->next=NULL;
while(p!=null)
{
p->next=L->next;
L->next=p;
p=q;
q=q->next;
现在我知道是要形成这样的效果 比如开始链表是这样:1->2->3->4
逆置完事应该是1<-2<-3<-4 是这样吧.
例如
p=L->next->next;这句意思是把头节点的后继的后继指向p是吗 比如上面的例子来说就是1是头节点的话 那么这句话就是把1的后继也就是2的后继指向p对吗
q=p->next;这句的意思就p的后继指向q
L->next->next=NULL;这句是把1的后继的后继置空
while(p!=null)如果p不为空
{
p->next=L->next;这句是把1的后继指向p的后继 (这句啥意思啊)
L->next=p;这句呢把p付给l的后继是吗
p=q;这句把q给p
q=q->next;
q=p->next 这句是把p的后继指针指向q
我的妈呀 蒙了啊 谁帮我分析一下啊 调理一下思路啊 怎么乱其八糟的啊
谢谢各位啦

单链表逆置方法二:线性表由q来
表示
p=null;
w=q;
while(w!=null)
{
w=w->next;w的后继指向w
q->next=p;(。。。。。我要疯了 谁帮我继续解释一下啊 求求你们了)
p=q;
q=w;
}
最好是把你们看到这些个语句是怎么理解的 在心里是怎么用汉语读出这些个语句的高速我一下 谢谢啦
...全文
3358 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq542027128 2011-05-09
  • 打赏
  • 举报
回复
q = p-> next; //把p这个借点的next域指向q
p-> next=q //把q指向p这个借点的next域
p=q;//...
qq37911 2010-11-27
  • 打赏
  • 举报
回复
都快2011年了,我还在为这个头疼,看了半天也不知道你们说的意思,初学者~悲哀!
gsky 2007-04-19
  • 打赏
  • 举报
回复
大哥大姐们 给我解释一下下面这三句区别 我怎么一看总混呢:
q = p->next;
p->next=q
p=q;
xxhhjjww 2007-04-19
  • 打赏
  • 举报
回复 1
L是头结点
head->1->2->3->4
head就是L所在的位置
p=L->next->next; //指向1.next;
q=p->next; //指向2.next
L->next->next=NULL; //将1.next设为null
while(p!=null)
{
p->next=L->next; // 两个结点倒置
L->next=p; //现在头结点为p
p=q; //记录当前的p指针
q=q->next; //向后递归进行处理
gsky 2007-04-19
  • 打赏
  • 举报
回复
我要疯了 感谢superboypq() !
L->next=NULL;/*将逆表的初值设为空表*/ 这都为空了
。。。。
p->next=L->next 后面这个付什么值了

谁有歌标准答案 关键是要帮我讲解一下的
我现在知道 p->next 是存方的p的后继的位置指针
gsky 2007-04-18
  • 打赏
  • 举报
回复
顶一下
davecom 2007-04-18
  • 打赏
  • 举报
回复
用堆栈来实现吧
gsky 2007-04-18
  • 打赏
  • 举报
回复
加油
superboypq 2007-04-18
  • 打赏
  • 举报
回复
我也是菜鸟一只,初学数据结构,刚好楼主所说问题看过,斗胆一试.这也是我首次在csdn发帖。不妥之处,还请见谅。我将楼主的程序放入VC中调试 发现根本不能实现逆序。不知楼主试了没有。
p=L->next; /*指向第一个待逆序的结点 也就是所说的1的后继*/
L->next=NULL;/*将逆表的初值设为空表*/
while(p!=NULL) /*原表中还有未逆序的结点*/
{
q=p; /*q是当前的逆序的结点*/
p=p->next;/*指向下一个待逆序的结点*/
p->next=L->next;
L->next=q; /*这两句是将q插入到逆序表的头上*/
}
不知对不对,还请各位高手 海批!!
基于强化学习的五子棋强化学习(Reinforcement Learning, RL),又称再励学习、评价学习或增强学习,是机器学习的范式和方法论之一。它主要用于描述和解决智能体(agent)在与环境的交互过程中通过学习策略以达成回报最大化或实现特定目标的问题。强化学习的特点在于没有监督数据,只有奖励信号。 强化学习的常见模型是标准的马尔可夫决策过程(Markov Decision Process, MDP)。按给定条件,强化学习可分为基于模式的强化学习(model-based RL)和无模式强化学习(model-free RL),以及主动强化学习(active RL)和被动强化学习(passive RL)。强化学习的变体包括逆向强化学习、阶层强化学习和部分可观测系统的强化学习。求解强化学习问题所使用的算法可分为策略搜索算法和值函数(value function)算法两类。 强化学习理论受到行为主义心理学启发,侧重在线学习并试图在探索-利用(exploration-exploitation)间保持平衡。不同于监督学习和非监督学习,强化学习不要求预先给定任何数据,而是通过接收环境对动作的奖励(反馈)获得学习信息并更新模型参数。强化学习问题在信息论、博弈论、自动控制等领域有得到讨论,被用于解释有限理性条件下的平衡态、设计推荐系统和机器人交互系统。一些复杂的强化学习算法在一定程度上具备解决复杂问题的通用智能,可以在围棋和电子游戏中达到人类水平。 强化学习在工程领域的应用也相当广泛。例如,Facebook提出了开源强化学习平台Horizon,该平台利用强化学习来优化大规模生产系统。在医疗保健领域,RL系统能够为患者提供治疗策略,该系统能够利用以往的经验找到最优的策略,而无需生物系统的数学模型等先验信息,这使得基于RL的系统具有更广泛的适用性。 总的来说,强化学习是一种通过智能体与环境交互,以最大化累积奖励为目标的学习过程。它在许多领域都展现出了强大的应用潜力。

33,010

社区成员

发帖
与我相关
我的任务
社区描述
数据结构与算法相关内容讨论专区
社区管理员
  • 数据结构与算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧