代码段1简介:顺序表的头删
代码1
{ //1
int i; //2
assert(pSeq != NULL); //3
if(pSeq->sz >= MAX) //4
{ //5
printf("顺序表已满,无法添加!\n"); //6
return; //7
} //8
for(i=pSeq->sz ;i>0 ;i--) //9
{ //10
pSeq->data[i] = pSeq->data[i-1]; //11
} //12
pSeq->data[i] = d; //13
pSeq->sz++; //14
} //15
不懂得地方
第9行到第11行,为什么i从最大自减,这样不会把前一个的数据覆盖掉吗。问题:语法不懂。
代码段2简介:查找单链表中第i个元素,若存在,其值赋给e并返回OK,否则返回ERROR。
代码2
Status GetElem_L(LinkList L,int i,ElemType &e)
{
LNode *p1; //1
p1=L->next; //2
int j=1; //3
while(p1 && j<i) //4
{ //5
p1 = p1->next; //6
++j; //7
} //8
if(!p1 || j>i) //9
return ERROR; //10
e=p1->data; //11
preturn OK; //12
}
不懂得地方
第7行,++j 能不能换成 j++?问题:语法不懂。