Chinaunix首页 | 论坛 | 博客
  • 博客访问: 475225
  • 博文数量: 93
  • 博客积分: 5006
  • 博客等级: 上校
  • 技术积分: 1002
  • 用 户 组: 普通用户
  • 注册时间: 2010-05-30 13:58
文章分类

全部博文(93)

文章存档

2012年(2)

2011年(68)

2010年(23)

分类:

2010-12-09 21:52:55

由i = 1,j = 2所犯下的错误。
53     for(i = 1; i <= n-1; i++)
 54         for(j = 2; j <= n; j++)
 55         {
 56             if(v[i]/w[i] <  v[j]/w[j])
 57             {
 58                 tw = w[i];
 59                 w[i] = w[j];
 60                 w[j] = tw;
 61                 tv = v[i];
 62                 v[i] = v[j];
 63                 v[j] = tv;
 64             }
 65         }

正确的方法为
i= 1,j = i+1

因为
i = 1,j = 2,所以后来排序时的时候,i > j的时候可能改变之前交换后的值。

阅读(1991) | 评论(0) | 转发(0) |
0

上一篇:就业方向???

下一篇:鱼和水的故事

给主人留下些什么吧!~~