zzh281353932 发表于 2015-6-28 16:27:04

教学视频里面代码好像出现错误

/* 初始条件:顺序线性表L已存在,1<=i<=ListLength(L)。 */
/* 操作结果:在L中第i个位置之前插入新的数据元素e,L长度+1。*/

Status ListInsert(SqList *L, int i, ElemType e)
{
    int k;

    if( L->length == MAXSIZE )// 顺序线性表已经满了
    {
      return ERROR;
    }
    if( i<1 || i>L->length+1)   // 当i不在范围内时
    {
      return ERROR;
    }
    if( i <= L->length )   // 若插入数据位置不在表尾
    {
      /* 将要插入位置后数据元素向后移动一位 */
       for( k=L->length-1; k >= i-1; k-- )
      {
            L->data = L->data;
      }
    }

    L->data = e;// 将新元素插入
    L->length++;

    return OK;
}

for( k=L->length-1; k >= i-1; k-- )这一句我觉得应该是for( k=L->length; k >= i+1; k-- ) 不知道不是不是这样 还是我理解错误
求各路大神赐教 感谢!!

zzh281353932 发表于 2015-6-28 16:36:38

for( k=L->length; k >= i; k-- )应该好像这样,求赐教

zzh281353932 发表于 2015-6-28 16:43:33

我理解错了求赐教

zzh281353932 发表于 2015-6-28 16:47:19

原来k是下标 这样理解不知道对不对

tiandiweicheng3 发表于 2015-7-6 17:50:40

是有些错误

zzh281353932 发表于 2015-7-26 20:07:12

tiandiweicheng3 发表于 2015-7-6 17:50
是有些错误

是我理解错了

不二如是 发表于 2020-3-7 09:43:47

从 k=L->length-1 开始遍历每次 k--,直到大等 i-1
页: [1]
查看完整版本: 教学视频里面代码好像出现错误