学生信息循环双链表的增删改查

一.双向链表的结点类型定义
1.定义学生的基本信息姓名name[20],学号number,年龄age,分数mark以及两个指针域左链域llink和右链域rlink.,我们使有指针指向下一个结点,使左指针上一个结点,使头结点的左指针指向尾节点,构成双向循环链表。
在这里插入图片描述
二.双向循环链表的创建
1.首先定义一个表头phead,左右链域指针分别指向空。
2.再定义两个指针
pnew,pend分别代表目前的一个指针和尾指针。
3.使尾指针指向头指针
4.定义学生个数n,录入所有学生的信息.
5.每录入一个学生构成单链表直到最后一个学生信息录入首尾指向构成循环链表
在这里插入图片描述在这里插入图片描述
三.输出函数在while循环中逐个输出信息
在这里插入图片描述四.查找函数,定义一个指针
x,指向将要查找的学生姓名的首地址,在while循环中将临时指针p遍历利用strcmp函数判断是否存在要查找的学生,若有则输出其信息,反之则没有查到该数。
在这里插入图片描述五,头部结点插入函数,首先定义一个结构体,录入新学生的所有信息,将新的
pnew插入到头部,使其右指针指向第一个指针的右指针域,头指针的右指针指向新的结点,新指针的左指针指向头结点,第二个节点的左链域指向新结点。
在这里插入图片描述六删除结点函数,首先根据while循环找到要删除的结点,再将删除节点的前一个结点右指针指向下下个结点,再将删除节点的下一个结点指向上上一个节点的。
在这里插入图片描述
在这里插入图片描述七修改函数,同样利用for循环找到要修改的结点,将其信息进行重新输入。

在这里插入图片描述八.主函数
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值