![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
链表
minghan13
啊哦
展开
-
12.建立一个链表,每个结点包括:学号、姓名、性别、年龄。输人一个年龄,如果链表 中的结点所包含的年龄等于此年龄,则将此结点删去。
主要思路:1,创建链表2,判断输入的年龄是否存在,存在就删去3,输出处理后的链表具体处理:1,创建链表:链表 = 头指针 + 节点所以先创建节点:typedef struct node{ int sid; char name[20]; char sex[10]; int age; struct node* next;}node;然后把节点链接起来,并且让头指针指向第一个节点,并返回头指针;代码:node *creatlink(int n)//n是节点个数{ nod.原创 2020-05-21 15:57:55 · 9646 阅读 · 0 评论 -
11.有两个链表a和b,设结点中包含学号、姓名。从a链表中删去与b链表中有相同 学号的那些结点。
主要思路:1,先创建两个链表2,删去a链表中与b链表中有相同学号的节点3,打印处理后的a链表处理方法:1 :创建链表:链表 = 头指针 + 节点所以先创建节点typedef struct node{ int sid; char name[20]; struct node* next;}node;然后把节点串起来,并且把第一个节点的地址给头指针就成链表了代码: node* creatlink(int n) //n是链表长度,也就是节点个数,函数返回头指针 { node.原创 2020-05-14 16:51:40 · 2827 阅读 · 2 评论 -
10.已有a,b两个链表,每个链表中的结点包括学号、成绩。要求把两个链表合并,按 学号升序排列。
我把成绩看成了姓名,不过对题目没什么影响;主要思路:1.先创建两个链表;2.把两个链表合并;3.把合并后的链表排序;4.输出排序后的链表具体处理:1.如何创建链表:链表 = 头指针 + 节点所以:首先,定义节点typedef struct node{ int sid; char name[20]; struct node* next;}node;然后就把节点连起来,形参n是要创建的链表长度,函数返回头指针; node* creatlink(int n) { nod.原创 2020-05-13 21:18:59 · 5652 阅读 · 3 评论