数据结构 - 增加节点与查找节点

本文介绍了一种使用C语言实现链表的基本操作方法,包括如何查找指定学号的学生信息及如何在链表中插入新的学生记录。通过具体的代码示例详细说明了插入节点的位置判断逻辑。
 1 //查找节点
 2 list* findNode(list *head, int num)//num:学号
 3 {
 4     list *ptr;
 5     ptr = head;
 6     while(ptr != NULL)
 7     {
 8         if (ptr->num == num)
 9             return ptr;
10         ptr = ptr->next;
11     }
12     return ptr;
13 }
14 //插入节点
15 list *insertNode(list *head, list *ptr, int num, int scort, char name[15])
16 {
17     list *inserNode = new list;
18     if (! inserNode)
19         return NULL;
20     inserNode->num = num;
21     inserNode->score = scort;
22     strcpy(inserNode->name , name);
23     inserNode->next = NULL;
24 
25     if (ptr == NULL)//第一个节点
26     {
27         inserNode->next = head;
28         return inserNode;
29     }
30     else
31     {
32         if (ptr->next == NULL)//如果是最后一个节点
33             ptr->next = inserNode;
34         else
35         {    //不是第一个, 也不是最后一个, 中间的
36             inserNode->next = ptr->next;
37             ptr->next = inserNode;
38         }
39     }
40     return head;
41 }

转载于:https://www.cnblogs.com/moli/archive/2009/04/12/1434263.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值