// 定义链表遍历函数
// 定义链表查询函数
// 定义链表插入函数 // 在链表位置第pos节点前插入包含数据val的节点 // 寻找pos节点的前驱结点
//定义删除整个链表函数
// 定义删除链表元素函数 // 删除链表中的第pos节点 // 寻找pos节点位置的前驱节点 free(Tmp); // 释放删除节点的内存空间防止内存泄漏
本文实例为大家分享了c语言链表建立学生信息管理系统的具体代码供大家参考,具体内容如下
//以单链表作为存储结构设计和实现课程成绩管理的完整程序。 //程序包括洳下功能 //1.建立学生成绩表,包含学生的学号、姓名和成绩 //2.可以显示所有学生成绩。 //3.可以计算学生的总数 //4.可以按学号和序号查找学生。 //5.可以在指定位置插入学生成绩数据 //6.可以删除指定位置的学生数据。 //7.可以把学生成绩按从高到低的顺序排序
以前面建立的动态链表为例编寫一个函数,能够在链表中指定位置插入一个结点
假定链表已按升序排列,将要插入的结点依次与链表中的各结点比较寻找要插入的位置。结点可以插在表头表中或表尾。
结点在插入过程中存在以下几种情况:
(1)如果原表是空表只需使链表的头指针head
指向被插结点即可。
(2)如果如果被插结点值最小则应插入第一个结点之前,这种情况下使头指针head
指向被插结点被插结点的指针域指向原来的第一結点即可。
(3)如果在链表中某位置插入使插入位置的前一结点的指针域指向被插结点,被插结点的指针域指向插入位置的后一结点即鈳
(4)如果被插结点值最大,则在表尾插入使原表尾结点指针域指向被插结点,被插结点指针域指向NULL
即可
版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。