线性表的单链表存储(2)

来源:互联网 发布:上古世纪 范冰冰数据 编辑:程序博客网 时间:2024/06/07 06:03

     创建和销毁链表

        1,创建链表            NODE *Creat_LinkList(int number)

          算法:创建一个长为number的链表,返回链表头部head指针。每次在链表尾部加节点。

          NODE   *head = (NODE*)malloc(sizeof(NODE)); 

          head->next=NULL;                          //建立头节点

         NODE   *q=head;        

        while(根据number判断)

     {

         NODE   *pnew = (NODE*)malloc(sizeof(NODE));

          pnew->data=Data;  //节点数据域赋值

          pnew->next=NULL;  //从节点尾部加节点

          q->next = pnew;

          q=q->next;

    }

代码:

      2,销毁链表                    int Free_LinkList(NODE *head)

        算法:从头节点开始,依次free

       NODE *p,*q;

         p=head

        while(p->next!=NULL)

          {  

                   q=p->next;

                  p->next=q->next;

                  p=q->next;

                  free(q);                   

           }

           free(head);

代码:

 

 

        

0 0