C语言实现单链表尾插法和头插法并且不覆盖原链表

    xiaoxiao2023-10-18  174

    头插法不覆盖原节点 代码:

    void ceateListF(LNode *&L,ElemType a[],int n){ int i; LNode *s; for(i=0;i<n;i++){ s=(LNode *)malloc(sizeof(LNode)); s->data=a[i]; s->next=L->next; L->next=s; } }

    尾插法不覆盖原节点 代码:

    void createListR(LNode *&L,ElemType b[],int n){ int i; LNode *s,*r,*p;//r是一个始终指向终端节点的指针; p=L; while(p->next!=NULL){ p=p->next; } r=p; for(i=0;i<n;++i){ s=(LNode *)malloc(sizeof(LNode)); s->data=b[i]; r->next=s; r=r->next; } r->next=NULL; }

    数据结构:

    typedef int Status; typedef int ElemType; //定义单链表的存储结构 typedef struct LNode { ElemType data; struct LNode *next; }LNode;
    最新回复(0)