题解 | #牛牛的单向链表#

牛牛的单向链表

https://www.nowcoder.com/practice/95559da7e19c4241b6fa52d997a008c4

#include <stdio.h>
#include <stdlib.h>
typedef struct TNode{
    int val;
    struct TNode *next;
}TNode, *Link;

//创建一个链表
void create_link(Link *t)
{
    //创建头结点
    *t = (TNode*)malloc(sizeof(TNode));
    (*t)->val = 0;
    (*t)->next = NULL;
}

//头插法插入节点
void add_head(Link *t, int val)
{
    TNode * tem = (TNode*)malloc(sizeof(TNode));
    tem->val = val;
    tem->next = NULL;
    tem->next = (*t)->next;
    (*t)->next = tem;
}
//尾插法插入节点
void add_end(Link *t, int val)
{
    TNode * tem = (TNode*)malloc(sizeof(TNode));
    tem->val = val;
    tem->next = NULL;
    TNode * p = (*t);
    while(p->next != NULL){
        p = p->next;
    }
    p->next = tem;
}
//链表的遍历
void print(Link t)
{
    //去除头结点
    TNode*p = t->next;
    while(p){
        printf("%d ", p->val);
        p = p->next;
    }
}


int main() {
    int n, i, tem;
    //创建链表
    Link t;
    create_link(&t);
    scanf("%d", &n);
    for(i = 0; i < n; i++){
        scanf("%d", &tem);
        add_end(&t, tem);
    }
    print(t);
    return 0;
}

这里对链表进行初始化或者增删改查时,要传指针,否则就是值传递不会修改链表的值。

全部评论

相关推荐

07-09 19:25
门头沟学院 Java
这是要把每一个投校招的都开盒吗?
26届之耻将大局逆转:裁人的时候一次性追回餐费
点赞 评论 收藏
分享
07-10 13:59
门头沟学院 Java
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-11 11:21
被夸真的超级开心,好可爱的姐姐
码农索隆:老色批们不用脑补了,我把金智妮的图找来了查看图片
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务