|
![]() | 作者: J [jsophie]
![]() |
登录 |
这个起跑排序的算法是不是对的 void bubble(r,n) int n,r; {int i,j,temp; for(i=1;i<=n-2;i++){ for(j=1;j<n-i;j++) if(r[j].key>r[j+1].key) {temp=r[j];r[j]=r[j+1];r[j+1]=temp;} } return; } 我怎么都觉得有问题,特别是两个for语句, 我觉得应该是 for(i=1;i<=n-1;i++) for(j=1;j<=n-i;j++) 这里是假设有n个节点,那么一共起泡就要n-1次,并且第一次是n-1,第2次是n-2,最后一次是1. 但上面的算法我看不出来这样的体现啊,但书上这样写的,请各位帮我分析下, 我才开始学C,我知道我现在年龄或许已经晚了,但我真的很想把我希望的一些东西学好. |
地主 发表时间: 07-02-27 00:40 |
![]() | 回复: jhkdiy [jhkdiy] ![]() |
登录 |
代码: 一个完整的例子: 代码: [此贴被 jhkdiy(jhkdiy) 在 02月27日11时18分 编辑过] [此贴被 jhkdiy(jhkdiy) 在 02月27日11时21分 编辑过] |
B1层 发表时间: 07-02-27 11:16 |
|
20CN网络安全小组版权所有
Copyright © 2000-2010 20CN Security Group. All Rights Reserved.
论坛程序编写:NetDemon
粤ICP备05087286号