|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
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[i - 1]);
for(p = &(L.elem[L.length - 1]); 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[k + 1] = L->data[k];
}
}
L->data[i - 1] = e;
L->length++;
return OK;
}
两个都是链表插入的程序,上面的是严奶奶书上的,下面的是小甲鱼老师的;
为什么在程序第一行严奶奶用的是 SqList &L ,而小甲鱼老师用的是 SqList *L?
为什么 i > L.length + 1 而不是 L.length?
为什么在后面for循环是 L->length - 1?
|
|