首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

数据结构顺序表里面有个有关问题不懂,求指点

2013-12-15 
数据结构顺序表里面有个问题不懂,求指点// 在顺序线性表L的第i个元素之前插入新的元素eStatus ListInsert_

数据结构顺序表里面有个问题不懂,求指点
// 在顺序线性表L的第i个元素之前插入新的元素e
Status ListInsert_Sq(SqList &L, int i, ElemType e)
{
   ElemType *p;
   if (i < 1 || i > L.length+1) return ERROR;
   if (L.length >= L.listsize)     //当前存储空间已满,增加分配
   {
      ElemType *newbase = (ElemType *)realloc(L.elem,(L.listsize+LISTINCREMENT)*sizeof (ElemType));  //realloc:改变mem_address所指内存区域的大小为newsize长度
      if (!newbase) return ERROR;
      L.elem = newbase;
      L.listsize += LISTINCREMENT;
   }*/
   ElemType *q = &(L.elem[i-1]);
   for (p = &(L.elem[L.length-1]); p>=q; --p) *(p+1) = *p;
   *q = e;
   ++L.length;
   return OK;
}

其中的L.length >= L.listsize这个我不懂,length是当前长度,listsize是当前分配的存储容量(以sizeof(ElemType)为单位。内存容量跟长度比较有意义吗?
[解决办法]
2个都是以sizeof(ElemType)为单位啊, 表示元素的个数

热点排行