用C语言建单向链表

Let life be beautiful like summer flowers and death like autumn leaves。生如夏花之灿烂,死如秋叶之静美。

链表是和数据结构相挂钩的,现在可以先认识一下哦,不一定非要弄懂,但是弄懂也没毛病。学习链表之前要把结构体弄懂哦,还有指针等。基础是一定要打牢的,不然以后学数据结构会很困难的。
任务描述

建立一个带头结点的单向链表。

相关知识
什么是链表?链表和二叉树是C语言数据结构的基础和核心。

链表有多种形式,它可以是单链接的或者双链接的,可以是已排序的或未排序的,可以是循环的或非循环的。

单链表
单向链表(单链表)是链表的一种,其特点是链表的链接方向是单向的,对链表的访问要通过顺序读取从头部开始,链表是使用指针进行构造的列表,又称为结点列表,因为链表是由一个个结点组装起来的,其中每个结点都有指针成员变量指向列表中的下一个结点。

列表是由结点构成,head指针指向第一个成为表头结点,而终止于最后一个指向nuLL的指针。

源代码:

#include 
#include 
typedef struct node {
    int data;
    struct node *next;
}Node;

Node *CreatList(void)
{
    int val, i, n;
    Node *phead, *p, *q;
    phead = (Node *)malloc(sizeof(Node));
    q=phead;
    q->next=NULL;
    scanf("%d", &n);
    for(i=0; i<n; ++i)
    {
        scanf("%d", &val);
        p = (Node *)malloc(sizeof(Node));
        p->data=val;
        q->next=p;
        p->next=NULL;
        q=p;
    }
    return phead;
}
//输出链表
void ShowList(Node *phead)
{
    Node *p;
    p = phead->next;
    while(p)
    {
        printf("%d ", p->data);
        p = p->next;
    }
    printf("\n");
}

int main(void)
{
    Node *phead;
    phead = CreatList();
    ShowList(phead);
    return 0;
}

运行结果:
用C语言建单向链表_第1张图片

你可能感兴趣的:(C语言刷题,链表,c语言)