java单链表代码看不懂 java中有链表吗

Java约瑟夫单链表问题,有几句代码看不懂。求助大神

首先,根据你给的信息,估计是有循环操作,另外,既然命名是temp,就表示它是个临时变量,起到的作用可能只是变量传值的一个中介,就像冒泡排序的时候,循环中,两个变量值需要调换的时候,往往都是这样,第一个变量值赋值给第二个变量,第二个变量值赋值给temp,最后把temp赋值给第一个变量。

目前创新互联建站已为近千家的企业提供了网站建设、域名、虚拟空间、成都网站托管、企业网站设计、乐业网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。

至于temp为什么要赋null值,还是因为要循环的原因,循环当中,变量是要赋值多次的,

建立单链表程序中有几行代码看不懂,求解释

if ((h=(stud *)malloc(sizeof(stud)))==NULL)\\这一行的作用是什么?

这行是用来分配空间的。。,如果分配失败就返回。

if((s=(stud *)malloc(sizeof(stud)))==NULL)\\为什么要循环多次地执行这行?这行的作用是什么?

这行也是,因为有n个人,每个人都要分配空间啊。

return(h);\\这行代码又有什么作用?

把建立好的链表返回调用函数

我用VC++6.0运行该程序时提示“Error spawing CL.EXE”,该怎么解决?

可能是这个文件变成了只读, 重新建立一个就行。

thinking java 书中关于单链表代码的 问题 一直看不懂

楼主,这个是合理的,分析如下:

在List 类的add方法中,循环:

while (e.next!=null)//居然是空的 那么这里判断他非空不是没有意义么

e=e.next;

作用是获取链表的最后一个元素,以使新添加的结点能够挂到最后面。当你第一次添加结点的时候, head的next也是为空,那么循环后面的两句代码:

e.next=newEntry;

return newEntry;(注意这两句不属于循环体)意思就是把head的next结点设置为新添加的结点了。这个时候,head的next值就不为空了,其指向的是你刚才添加的结点。

这时如果再次添加结点,循环while (e.next!=null)将会循环一次,在循环结束时,e就不再指向head了,而是指向你上次添加的结点,也就是链表的最后一个结点。

remove方法中也是这样的原理。希望能帮助到楼主


分享名称:java单链表代码看不懂 java中有链表吗
本文来源:http://csdahua.cn/article/heppeo.html
扫二维码与项目经理沟通

我们在微信上24小时期待你的声音

解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流