2007-03-18
一个c语言数据结构的问题
关键字: 数据结构-顺序表删除节点
我先不说什么,先看下面的代码:
cpp 代码
- void delete_pos_sequence_list(sequence_list *slt,int position)
- {
- int i;
- if(slt->size==0)
- {
- printf("\n顺序表是空的!");
- exit(1);
- }
- if(position<0 | | position>=slt->size)
- {
- printfI("\n指定的删除位置不存在!");
- exit(1);
- }
- for(i=position;i< slt- >size-1;i--)
- {
- slt->a[i]=slt->a[i+1];
- }
- slt->size--;
- }
这是我从书上看到的一个数据结构的代码,主要是实现删除顺序表中的第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--)
- 浏览: 22376 次

- 详细资料
搜索本博客
最新评论
-
一个程序问题吧
哦,这样啊。我还真的以为是什么很大的问题。原来人家早设计好的,并不是什么漏洞。长 ...
-- by ncgxcy211 -
一个程序问题吧
让google告诉你:http://www.google.com/search? ...
-- by codeutil -
一个c语言数据结构的问题
恩,知道了,我也这样认为,呵呵。谢谢大家了。
-- by ncgxcy211 -
一个c语言数据结构的问题
这个代码... 如果是书本上的实在是误人子弟了 for(i=position;i ...
-- by Arath -
一个c语言数据结构的问题
就应该是i++.
-- by simohayha






评论排行榜