首页 > 代码库 > 单链表的初始化和创建(尾插法)

单链表的初始化和创建(尾插法)

 1 #include<stdlib.h> 2 #include<stdio.h> 3 typedef struct Node 4 { 5     int data; 6     struct Node *next; 7 }Node,*LinkList; 8  9 void initList(LinkList *L)10 {11    (*L) = NULL;12    printf("初始化成功\n");13 }14 15 LinkList creatList(int n)16 {17     LinkList l,h,s;//l为尾指针,h为头指针,s为工作指针18     int i = 0;19     if((h=(LinkList)malloc(sizeof(Node)))==NULL)20     {21         printf("不能分配空间!");22         exit(0);23     }24     h->data = http://www.mamicode.com/0;25     h->next = NULL;26     l=h;27     for(;i<n;i++)28     {29         if((s=(LinkList)malloc(sizeof(Node)))==NULL)30         {31             printf("不能分配空间!");32             exit(0);33         }//创建出节点34         l->next = s;//与尾节点做链接35         printf("请输入第%d个数字",i+1);36         scanf("%d",&(s->data));//输入数据37         s->next = NULL;//置空38         l=s;//尾指针后移39         40     }41     return h;42 }43 44 int main()45 {46     LinkList listList = NULL;47     initList(&listList);48     listList = creatList(5);49     return 0;50 }

创建的时候,34-38行,链接,数据输入,置空,尾指针后移,顺序可变,后移一定要放在链接后面