建立单向链表

建立单向链表

  • 链表本质上是用指针链接起来的多个结构体,所以建立链表的第一步就是定义一个结构体变量
    struct libi {int data; struct libi *next; }
  • 第二步定义头节点与结构体指针struct libi *head,*p,*p1;
  • 第三步为其申请空间,使用malloc函数(包含在stdlib.h函数库中)head=p=(struct libi*)malloc(sizeof(struct libi));p1=(struct libi*)malloc(sizeof(struct libi));
  • 第四步输入数据并把结构体链接起来,需要使用循环语句读入数据,并继续申请空间
    代码如下while(1) { scanf("%d",&p1->data); if(p1->data==-1) break; head->next=p1; p=p1; p1=(struct ListNode*)malloc(sizeof(struct ListNode)); }这里假设遇到-1结束
  • 输入结束后将链表的尾节点的指针域置空并释放多申请的P1的空间p->next=NULL; free(p1);
  • 此时一个单向链表便建立完成,head便是其头节点

你可能感兴趣的:(建立单向链表)