单向链表的创建

单向链表

链表的定义

  链表是一中物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑
顺序是通过链表中的指针链接次序实现的。

  链表由一系列结点组成,结点可以在运行时动态生成。

  每个结点包括两部分:
  一个是存储数据元素的数据域,
  另一个是存储下一个结点地址的指针域。

在这里插入图片描述

创建单向链表

#include <stdio.h>    
#include <stdlib.h>                                                                                                                    
//结构体 包含数据域与指针域
struct dat
{
    int a;
    struct dat *Next;
};
int main()
{
    int a,b;
    struct dat *tmp,*pre,*head;
    tmp=NULL;
    pre=NULL;
    head=NULL;
    
    scanf("%d",&a);
    //将a个单独的结构体链接起来,构成单向链表
    for(int i=0;i<a;i++)
    {
        scanf("%d",&b);
        //为tmp分配内存空间。(为struct dat类型大小的类型空间)
        tmp=(struct bat*)malloc(sizeof(struct dat));
        tmp->a=b;
        tmp->Next=NULL;
        if(i==0)
        {
            head=tmp;
        }
        else
        {
            pre->Next=tmp;
        }
        pre=tmp;
    }
    pre=head;
    //输出链表
    while(pre!=NULL)
    {
        printf("%d",pre->a);
        pre=pre->Next;
    }                                                   
}

[参考] (https://www.bilibili.com/video/BV1HW411K7aH/?spm_id_from=333.999.0.0)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值