线性表总结

代码段1简介:顺序表的头删

代码1

{  //1
  int i;  //2
  assert(pSeq != NULL);  //3
  if(pSeq->sz >= MAX)  //4
  {  //5 
   printf("顺序表已满,无法添加!
");  //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++?问题:语法不懂。
原文地址:https://www.cnblogs.com/xyz-8108923246/p/10593228.html