链表的基本操作

本文介绍了如何使用C语言定义结构体来表示链表节点,并通过读取输入创建链表,然后遍历链表输出节点值。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

定义指针的结构体

struct data
{
    int x; //这是数据
    struct data *next;
};

typedef struct data * dataNode;

创建链表

dataNode read()
{
    struct data *node0, *node1, *head;
    node0 = new data;
    node1 = new data;
    head  = new data;//分配指针空间
    node0 = node1 = head = NULL;

    scanf("%d", &node0 -> x);
    node0 -> next = node1;
    head = node0;
    while (node0 -> x > 0) //这里写退出条件
    {
        scanf("%d", &node1 -> x);
        node0 = node1;
        node1 = new data;
        node0 -> next = node1;
    }
    node1 -> next = NULL;

    node0 = NULL;
    node1 = NULL; //释放指针
    delete node0;
    delete node1;


    return head;//返回头指针
}

遍历链表

void outp(dataNode head)
{
    struct data *st;
    st = NULL;
    st = new data;
    st = head;
    while (NULL != st -> next)
    {
        cout << st -> x << endl; //遍历操作
        st = st -> next;
    }
    st = NULL;
    delete st;
    return ;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值