北京 搜狐公司 户口:帮忙解释一下这个数据结构的算法

来源:百度文库 编辑:神马品牌网 时间:2024/04/28 03:23:56
小弟是一个菜鸟,对于下边这段数据结构的算法看了很久都没看懂,请大虾帮忙解释一下:
Status Initlist_Sq(SqList &L){
L.elem = (ElemType * )malloc(LIST_INIT_SIZE*sizeof(ElemType)) ;
if(!L.elem )exit(OVERFLOW);
L.length = 0;
L.listsize = LIST_INIT_SIZE;
return OK;
}
这是数据结构第二章《线性表的顺序表示与实现》里的一个基础算法 小弟愚钝 一直看不明白 请各位大虾帮忙解释一下 尤其是里边的* 到底是指针变量的标志 还是乘号
这句也是 newbase = (ElemType * )realloc(L.elem,
(L.listsize + LISTINCREMENT) * sizeof (ElemType));
这里的* 到底代表什么啊
顺带请教一下,小弟是本科计算机专业 由于上学时不用心 现在想考研 但是数据结构有很多地方看不懂 尤其是算法 各位大虾有什么好办法给支支招阿 本人基础算一般 C语言的算法还能看个大概 最好的就算操作系统了 可惜对学数据结构没帮助 请各位大虾多多指教阿

Status Initlist_Sq(SqList &L){
L.elem = (ElemType * )malloc(LIST_INIT_SIZE*sizeof(ElemType)) ;

//在上一句中是指审请了ElemType类型的LIST_INIT_SIZE数量的空间。(ElemType * )是指把审请的空间地址强制转化成ElemType类型的指针给了L.elem

if(!L.elem )exit(OVERFLOW);
L.length = 0;
L.listsize = LIST_INIT_SIZE;
return OK;
}

整段代码中,第一个*是指针,第二个是乘号