为什么L.length和L.listsize能直接代表线性表长度和宽度?

typedef int Status; //函数类型,其值为为函数结果状态代码
typedef int ElemType; //假设数据元素为整型
typedef struct
{
ElemType *elem; //存储空间基址
int length; //当前长度
int listsize; //当前分配的存储容量
}SqList;
Status InitList(SqList & L) //引用
{
L.elem=(ElemType*)malloc(LIST_INIT_SIZE*sizeof(ElemType));
if(!L.elem)
{
printf("创建失败\n");
exit(OVERFLOW);
}
else
{
L.length=0;
L.listsize=LIST_INIT_SIZE;
printf("创建成功\n");
return OK;
}
}
为什么L.length和L.listsize能直接代表线性表长度和宽度?
我是想问L.length和L.listsize只是结构体的两个属性而已,他是怎么和线性表长度和字长建立联系的啊??

第1个回答  2012-07-13
L.length=0;
L.listsize=LIST_INIT_SIZE;

list 初始化函数里给了初值

怎么建立的联系是你程序上实现的。 光看你结构体,没联系。
第2个回答  2012-07-13
因为在操作时候,每次多一个结点,length会对应的加1
减少一个结点length会对应的减1
相似回答