免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12
最近访问板块 发新帖
楼主: wangzhen11aaa
打印 上一主题 下一主题

诡异事情;请指教;代码全有 已解决。 [复制链接]

论坛徽章:
0
11 [报告]
发表于 2011-10-18 16:03 |只看该作者
回复 9# dreamice

我知道了,这里面有个死循环。
改正后代码为:

1 #include"heap.h"
  2 #include"heapify.h"
  3 extern int heapsize;
  4 int Max_heapify(int A[],int i)
  5 {
  6
  7         int l, r;
  8         l = Left(i);
  9         r = Right(i);
10
11         int largest;
12         if(l <= heapsize && A[l] > A)
13                 largest = l;
14         else
15                 largest = i;
16         if ( r <= heapsize && A[r] > A[largest])
17                 largest = r;
18
19         if (largest != i)
20                 Exchange(A, A[largest]);
21         else
22                 return 0;  /*这里的这个return 很要命。因为在算法导论上,好像没有else的相应“伪码”;他给省略了。我也忽略了这个问题,因为这了没有返回所以会一直循环,出现越位。这算自己的问题*/
23         Max_heapify(A, largest);
24         return 0;
25 }
    多谢各位。

论坛徽章:
0
12 [报告]
发表于 2011-10-18 16:05 |只看该作者
本帖最后由 wangzhen11aaa 于 2011-10-18 17:01 编辑

回复 10# duanjigang


   这个人说的很有道理:因为守着电脑,人的眼睛,手都用上了。(旁边再有点小新闻什么的引起注意,很容易想起别的xx事情来)。
呵呵,多谢你们这么宝贵的经验。

论坛徽章:
0
13 [报告]
发表于 2011-10-18 17:41 |只看该作者
回复  duanjigang


   这个人说的很有道理:因为守着电脑,人的眼睛,手都用上了。(旁边再有点小新闻 ...
wangzhen11aaa 发表于 2011-10-18 16:05



    呵呵,我有同感。04年时复习考研,要写一个算法实现十字链表。
当时自己在教室,想了好久,在纸上把代码写好,改了又该,最后读代码,发现没问题。然后照抄到机器上。
一遍编译通过,运行结果正确。那种感觉很爽的。

觉得在电脑前,注意往往集中在开发工具上了,而使得自身的思考不能很深入。
呵呵,瞎说一气,笑话了。

论坛徽章:
0
14 [报告]
发表于 2011-10-19 12:00 |只看该作者
数组下标从0开始。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

论坛徽章:
0
15 [报告]
发表于 2011-10-19 12:02 |只看该作者
回复 14# crazyervip
有时候这个0不好处理,不如浪费一个空间。
至于数组0的出现实在不应该,只是发明这个的以偏移计算的,要是以1开始会更好点

论坛徽章:
0
16 [报告]
发表于 2011-10-19 18:52 |只看该作者
顶10楼
语言是浮云,算法是王道,呵呵

论坛徽章:
0
17 [报告]
发表于 2011-10-22 17:01 |只看该作者
是因为递归出现死循环越界。

论坛徽章:
0
18 [报告]
发表于 2011-10-27 14:48 |只看该作者
很赞同上楼的观点,要保持思维的独立性
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP