新手求帮忙
Status ListInsert_Sq(SqList &L, int i, ElemType e){
if(i < 1 || i > L.length + 1)
return ERROR;
if(L.length >= L.listsize)
{
newbase = (ElemType *)realloc(L.elem,(L.listsize + LISTTINCREMENT) * sizeof (ElemType));
if(!newbase)exit(OVERFLOW);
L.elem = newbase;
L.listsize += LISTINCREMENT;
}
q = &(L.elem);
for(p = &(L.elem); p >= q; --p)
*(p + 1) = *p;
*q = e;
++L.length;
return OK;
}
Status ListInsert(SqList *L, int i, ElemType e)
{
int k;
if(L->length == MAXSIZE)
{
return ERROR;
}
if( i < 1 || i > L->ength + 1)
{
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;
}
两个都是链表插入的程序,上面的是严奶奶书上的,下面的是小甲鱼老师的;
为什么在程序第一行严奶奶用的是SqList &L,而小甲鱼老师用的是SqList *L?
为什么i > L.length + 1而不是L.length?
为什么在后面for循环是 L->length - 1?
各位大佬解下惑 路过。。。。。
好复杂{:10_282:}
页:
[1]