链表(2)----创建

第一步:创建一个节点

 第二步:创建第二个节点,将其放在第一个节点的后面(第一的节点的指针域保存第二个节点的地址)

第三步:再次创建节点,找到原本链表中的最后一个节点,接着讲最后一个节点的指针域保存新节点的地址,以此内推。

#include <stdio.h>
#include <stdlib.h>
//定义结点结构体
typedef struct student
{
    //数据域
    int num;		//学号
    int score;      //分数
    char name[20];  //姓名
    //指针域
    struct student *next;
}STU;
 
void link_creat_head(STU **p_head,STU *p_new)
{
    STU *p_mov = *p_head;
    if(*p_head == NULL)	//当第一次加入链表为空时,head执行p_new
    {
        *p_head = p_new;
        p_new->next=NULL;
    }
    else //第二次及以后加入链表
    {
        while(p_mov->next!=NULL)
        {
            p_mov=p_mov->next;	//找到原有链表的最后一个节点
        }
 
        p_mov->next = p_new;	//将新申请的节点加入链表
        p_new->next = NULL;
    }
}
 
int main()
{
    STU *head = NULL,*p_new = NULL;
    int num,i;
    printf("请输入链表初始个数:\n");
    scanf("%d",&num);
    for(i = 0; i < num;i++)
    {
        p_new = (STU*)malloc(sizeof(STU));//申请一个新节点
        printf("请输入学号、分数、名字:\n"); //给新节点赋值
        scanf("%d %d %s",&p_new->num,&p_new->score,p_new->name);
 
        link_creat_head(&head,p_new);	//将新节点加入链表
    }
}

全部评论

相关推荐

点赞 评论 收藏
分享
2024-12-17 13:21
已编辑
蚌埠坦克学院 嵌入式软件开发
分享一下今年秋招提前批联洲嵌入式岗位的过程😃投递岗位:软件工程师(成都)嵌入式方向6.13&nbsp;测评考了好多知识,比如IP地址啥的,记不清了,但感觉考得很难,也可能当时我还没开始刷题😣6.17&nbsp;一面(线上)感觉老师有点忙,在不停地记录一些什么,会问一些个人情况和八股:奖学金、是否保研简单介绍自己的项目中断上下半部(Linux相关)进程同步机制判断链表是否有环最后好像是这个:epoll和poll有了解吗(当时不是很了解,不知道这个英文听对没有)6.20&nbsp;二面(线上)老师挺认真的,事先看了我的简历上的材料。除了自己的项目还问一些八股:问了问最有成就感的事情?内联函数和宏的区别野指针内存分布udp和tcp对Linux了解吗对软件设计这部分的理解,这里给我的印象挺深刻滴兴趣爱好:这里我还说了我喜欢烘焙,烤面包🍞😬6.23&nbsp;终面(线下)去到学校附近的一个酒店,每个面试官在一个酒店房间里面。自我介绍之后会讲讲自己的项目经历、个人情况,也会考察一些专业知识。6.24&nbsp;在线终测写的是在线终测,应该是心理测评,很快就能做好,后续等待了很久。这是我第一次做心理测评不是很明白。8.12&nbsp;在线终测第一次没达标,等了好久好久才知道没有意向书是因为这个。等了很久又给我发了一次,于是我又做了一次😭8.13&nbsp;线上座谈腾讯会议上座谈的,人挺多的。讲了讲tplink做的东西等等。9.5&nbsp;录用意向书这样看还是等了有点久的,哈哈。10.11&nbsp;录用通知书小结:联洲是我秋招投递📮的第一家公司,后续也面了很多其他的公司,6-7月因为没等到座谈陷入了自我怀疑。后续感觉又顺了起来。好像也没有因为我心理测评挂了一次降档什么哒~🌿 #tplink联洲# #tplink面试#
查看10道真题和解析
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务