创建动态链表和输出动态链表的代码模板

关于创建动态链表即输出链表的模板代码

关于创建动态链表;
首先我们创建一个结构体

typedef struct ListNode
{
    int val;//定义结构体内的数据
    struct ListNode * next;
}ListNode;

创建动态链表

ListNode * creat()
{
    ListNode * head , * p1 , * p2;
    p1 = p2 = (ListNode * )malloc(LEN);//开辟动态单元
    head = NULL;//初始头节点为空

    scanf("%d",&p1 -> val);
    while(p1 -> val != -1)//当输入某个数据时表示链表创建结束
    {
        if(head == NULL)head = p1;//初始head为第一个节点
        else p2 -> next = p1;//从第二个节点开始就开始连接相邻节点
        p2 = p1;//p2存储原来的p1节点
        p1 = (ListNode * )malloc(LEN);//创建动态链表
        scanf("%d",&p1 -> val);//输入数据
    }

    p2 -> next = NULL;//使尾节点为空
    return head;//返回头节点
}

输出动态链表

void print(ListNode * head)
{
    if(head ==NULL)//如果链表为空,输出NULL
    {
        puts("NULL");
        return;
    }

    ListNode * p = head;
    while(p)//依次输出链表内数据
    {
        printf("%d ",p -> val);
        p = p -> next;
    }
    puts("");
}

主函数内

int main()
{
    ListNode * head;
    head = creat();//创建
    print(head);//输出
    return 0;
}

看看运行结果吧~
输入 9 8 7 6 5 -1
输出 9 8 7 6 5
截图如下
在这里插入图片描述
以上算是创建动态链表的一个模板!!!!

评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

AC Maker

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值