浏览 2101 次
|
锁定老贴子 主题:一个c语言数据结构的问题
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
|---|---|
| 作者 | 正文 |
|
最后更新时间:2007-03-18 关键字: 数据结构-顺序表删除节点
我先不说什么,先看下面的代码:
cpp 代码
这是我从书上看到的一个数据结构的代码,主要是实现删除顺序表中的第position位置的节点。我看了很久总觉得这个代码有点问题,就是在第14行for语句中,那个i--应该是i++吧,要是i总减永远也比slt->size小啊。那么循环就一直下去,不会出来了啊。 请高手给小弟指明下,是不是有问题,还是我理解错误。谢谢了。 我看了下,有的地方显示有问题:第9行应该是:if (position<0 || position >=slt->size) 晕,在编辑里是正确的,显示出来是错的。主要是说的position必须不小与0或者不大于等于slt->size。 第14行看不到,应该是:for(i=position;i< slt- >size-1;i--) 声明:JavaEye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
|
|
| 返回顶楼 | |
|
最后更新时间:2007-03-19
就应该是i++.
|
|
| 返回顶楼 | |
|
最后更新时间:2007-03-19
这个代码...
如果是书本上的实在是误人子弟了 for(i=position;i< slt- >size-1;i--) { slt->a[i]=slt->a[i+1]; } 应该是i++, 但是更加有效的方法是用memcpy之类的库函数,这类函数会有优化,速度快 |
|
| 返回顶楼 | |
|
最后更新时间:2007-03-20
恩,知道了,我也这样认为,呵呵。谢谢大家了。
|
|
| 返回顶楼 | |






