链表的基本操作

#include 
typedef  int ElemType ;
using namespace std;
typedef struct LNode{
    ElemType data;
    struct LNode *next;
}LNode,*LinkList;

//头插法创建表 
void CreatList1(LinkList &L){
    L=new LNode;
    L->next=NULL;
    int x;
    while(cin>>x){
        LNode *s=new LNode;
        s->data=x;
        s->next=L->next;
        L->next=s;
    }   
}
//尾插法创建表 
LinkList CreatList2(LinkList &L){
    L=new LNode;
    L->next=NULL;
    LNode *r=L;
    int x;
    while(cin>>x){
        LNode *s=new LNode;
        s->data=x;
        s->next=NULL;
        r->next=s;
        r=s;
    }
    
    r->next=NULL;
    return L;   
}
LNode *GetElem(LinkList &L,int i) {
    LNode *p=L->next;
    int k=1;
    while(k!=i)
    {
        p=p->next;
        k++;
    }
    return p;
}
LNode *ListDelete(LinkList &L,int k){
    LNode *q=L->next;
    LNode *p=L->next;
    int i=0;
    while(inext;
        i++;
    }
    q->next=p->next;
    return p;
    delete(p);
    
    
    
}
void show(LinkList L){
    LNode *p=L->next;
    while(p->next!=NULL)
    {
        cout<data;
        p=p->next;
    }
    cout<data<data<data<

你可能感兴趣的:(链表的基本操作)