链表怎么调节长度 数据结构的问题……(编写算法实现在带头结点的单链表L中值为X的节点前插入元素为e的新节点)怎么写啊?

数据结构的问题……(编写算法实现在带头结点的单链表L中值为X的节点前插入元素为e的新节点)怎么写啊?Linklist ListInsert(LinkList L,int x,Elemtype e){

数据结构的问题……(编写算法实现在带头结点的单链表L中值为X的节点前插入元素为e的新节点)怎么写啊?

Linklist ListInsert(LinkList L,int x,Elemtype e)

{ //在带头节点单链表第X个节点前插入新元素e

Linklist p,s

int j

p=L j=0

while(p!=NULL&&j<x-1)

{p=p—>next j } //找第x-1个节点

if(p==NULL || j>x-1)

{printf("参数X错") exit(1)}

S=(Linklist) malloc(sizeof(LNode)) //创建新节点,其数据为e

S->data=e

S->next=p->next //新节点插入在第X-1个节点的后面

P->next=S

return L

}