2024.9.24
线性表的链式存储结构:
//链表就是定义结
//单链表结点的定义
typedef struct Lnode{
Elem data;
struct Lnode next;//双向链表需要再加上前指针
}LNode,LinkListt
初始化:
Status InitList_L(LinkList &L){
//构造一个空的单链表
//使用头结点有益于单链表的操作,插入时头结点不移动
L=(LinkList) malloc(sizeof(LNode));//生成头结点
L->next=Null;//头结点置空
return OK;
}
单链表插入:
Status ListInsert_L(LinkList &L,int i,ElemTyoe e){
//在带头结点的单链表L的第i个位置之前插入元素e
//以此创造单链表,前插法即是插入到第一个元素前,后插法即增加尾指针插入链表尾部
p=L;j=0;
while(p&&j<i-1){p=p->next;++j;}//寻找第i-1个结点
if(!p||j>i-1) return ERROR;
s=(LinkList) malloc(sizeof(LNode));//生成新的结点
s->data=e;
s->next=p->next;
p->next=s;
return OK;
}

浙公网安备 33010602011771号