用函数实现链表的创建、输出、删除、插入

本文介绍了如何用函数实现链表的创建、输出、删除和插入操作。首先定义了一个包含学号和姓名的结构体,然后创建了用于初始化链表的函数、打印链表信息的函数、删除指定结点的函数以及在链表首尾插入结点的函数。在主函数中,使用switch语句实现了这些功能。这是一个初学者对链表操作的实践分享。
摘要由CSDN通过智能技术生成

创建结构体变量,链表的基础就是结构体,因此需要先创建一个结构体

typedef struct People
{
    int num; //学号
    char name[20]; //姓名
    struct People *next; //指向下一个结构体变量指针
}Peo;

 结构体有两个结点 学号和姓名(当然,可以根据需求需改结点个数和命名),接下来声明一个常数,用来记录结构体所占内存空间

#define SIZEpeo sizeof(Peo)

前提条件已经完成,接下来就可以编写对应的函数了。

第一个是结构体创建包括初始化函数

Peo* creat()
{
    Peo *head=NULL,*p1,*p2,*p3;
    printf("请完成初始化\n");
    printf("请输入 num name \n");
    p1=p2=(Peo*)malloc(SIZEpeo);
    do
    {
        if(head==NULL)
        {
            head = p1;
        }
        else
        {
            p2->next = p1;
            p3 = p2;
        }
        scanf("%d %s",&p1->num,p1->name);
        p2 = p1;
        p1 = (Peo*)malloc(SIZEpeo);
    }while(p2->num != 0);
    p3->nex
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值