头插法创建单链表

#include<stdio.h>
#include<stdlib.h>
#define NULL 0

typedef struct LNode
{
    struct LNode *next;
    int data;
}LNode,*list;

void createListF(list &l,int n)
{
    list q,C;
    l=(list)malloc(sizeof(LNode));
    C=l;
    C->next=NULL;
    for(int i=0;i<n;i++)
    {
        q=(list)malloc(sizeof(LNode));
        scanf("%d",&q->data);
        q->next=C->next;
        C->next=q;
    }
}

void printList(list l)
{
    list p;
    p=l;
    while(p->next!=NULL)
    {
        p=p->next;
        printf("%d ",p->data);
    }
    printf("\n");
}

void main()
{
    list l;
    int n;
    scanf("%d",&n);
    createListF(l,n);
    printList(l);
}

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