线性表的单链表

1.单链表的存储结构

typedef struct LNode{
    int data;

 struct LNode *next;

}LNode *LinkList;

2.(插)

status ListInsert(LinkList &L;int i;int e)

{

    p=L;j=0;

while(p&&j

{

   p=p->next

   j++;

}

if(!p||j>i-1)

{

return error

}

s=(LinkList)malloc(sizeof(LNode));

s->data=e;s->next=p->next;

p->next=s;

return ok;

}

3.(删)

status LinkDelete(LinkList &L;int i,int e)

{

      p=L;j=0;

while(p->next&&j

{

   p=p->next;

   j++;

}

if(!(p->next)||j>i-1)

 retrun error;

//p->next=p->next->next

q=p->next;p->next=q->next;

e=q->data; free(q);

return ok;

}

4.(查)

status get(LinkList &L ,int i;int e)

{

     p=L->next; i=1;

while(p&&j

{

    p=p->next;

    j++;

}

if(!p&&j>i)

 return  ok;

e=p->data;

return ok;

}


你可能感兴趣的:(数据结构与算法)