注册 登录
编程论坛 数据结构与算法

删除线性表a中第i个元素起的k个元素

Leoleau 发布于 2011-10-07 22:28, 1694 次点击
Status DeleteK(SqList &a,int i,int k)
if(i<1||k<0||i+k-1>a.length) return INFEASIBLE;//为什么不是a.length<i+k,是i+k-1???
  for(count=1;i+count-1<=a.length-k;count++) //循环的次数是怎么定出来的???
    a.elem[i+count-1]=a.elem[i+count+k-1];
  a.length-=k;
  return OK;
}//DeleteK

高手求救·····
5 回复
#2
编程的乐趣2011-10-08 20:02
.
#3
低眉浅笑2011-10-09 15:45
关于第一个问题吗?你自己数一下数就可以想出来;
i+count-1<=a.length-k就相当于是:count<a.length-(i+k-1)这样你应该可以想明白了吧?
只要从第一个元素到第(i+k-1)即可
#4
冲冲走过2011-10-12 12:45
i+k-1表示的是线性表中的要找的元素的位置,而删除只能删最后一个元素之前的
#5
艹蛋灬爱情2011-10-25 16:22
我也是文盲
#6
太极狼2011-10-26 11:09
1