单链表
本帖最后由 孤世星辰 于 2021-5-17 11:59 编辑#define OK 1
#define ERROR 0
#define TRUE 1
#define FALSE 0
typedef int Status;
// Status 是函数的类型,其值是函数结果状态代码,如OK
// 初始条件:顺序线性表L已存在,1 <= i <= ListLength(L)
// 操作结果:用e返回L中第i个数据元素的值
Status GetElem(SqList L, int i, ElemType *e)
{
if( L.length==0 || i<1 || i>L.length )
{
return ERROR;
}
*e = L.data; //不是说线性表位序是从1开始么,为什么这个给我感觉还是跟数组一样从0开始呢
return OK;
}
/* 初始条件:顺序线性表L已存在,1<=i<=ListLength(L) */
/* 操作结果:删除L的第i个数据元素,并用e返回其值,L的长度-1 */
Status ListDelete(LinkList *L, int i, ElemType *e)
{
int j;
LinkList p, q; //这样定义指针是不是有问题,定义指针不是*p么
p = *L;
j = 1;
while( p->next && j<i )
{
p = p->next;
++j;
}
if( !(p->next) || j>i )
{
return ERROR;
}
q = p->next;
p->next = q->next;
*e = q->data;
free(q);
return OK;
}
本帖最后由 孤世星辰 于 2021-5-17 11:59 编辑
好像懂了,位序说的是第几个元素,是我们按照1开始,但是这个顺序表其实还是跟数组一样的,下标是0开始
后面那个定义指针还是没看懂
无极空间 发表于 2021-5-17 20:18
大佬,数据结构视频中的课件在哪里找?(ppt)
http://bbs.fishc.com/thread-95941-1-1.html
页:
[1]