头插法创建单链表

#include
#include


typedef struct LNode //定义单链表结构 
{
    int data;
    struct LNode *next;
}LNode,*LinkList;


LinkList createLinkList_head()//头插法创建链表的函数

{        
    LinkList L,p;   
    L = (LinkList)malloc(sizeof(LNode));
    L->next = NULL;//初始化一个空链表,L为头指针
    int x;
    scanf("%d",&x);//x是和链表元素具有相同类型的变量
    while(x != -1)//flag为结束输入的标志
    {
         p=(LinkList)malloc(sizeof(LNode));//生成新的结点
         p->data=x; //输入元素值
         p->next=L->next;  L->next=p; //插入到表头 
         scanf("%d",&x);//读入下一个元素的值
    }
    return L;

你可能感兴趣的:(头插法创建单链表)