利用尾插法建立单链表(纯C语言小白版)

#include
#define N 7
typedef int ElemType;
typedef enum {false,true} bool;
typedef struct Node{
     ElemType data;
     struct Node *next;
}LNode,*LinkList;

LinkList List_TailInsert(LinkList L)
{
  int x;
  L=(LinkList)malloc(sizeof(LNode));  //申请了头结点
  LinkList s,r=L;
  scanf("%d",&x);

  while(x!=9999)
  {
      s=(LinkList)malloc(sizeof(LNode));
      s->data=x;
      r->next=s;
      r=s;
      scanf("%d",&x);
  }
  r->next=NULL;
 return L;
}                     //尾插法建立过程

void PrintList(LinkList L)
{
    L=L->next;
    while(L)
    {
        printf("%d ",L->data);
        L=L->next;
    }
    printf("\n");
}                    //输出链表

int main()
{
  LinkList s1; 
  s1=(LinkList)malloc(sizeof(LNode));  //初始化一个链表,给它申请空间,指针必须要申请空间,不然连简单的赋值都不行。
  s1=List_TailInsert(s1);             //尾插法建立链表         
  PrintList(s1);
}

你可能感兴趣的:(个人学习,c语言,链表,数据结构)