2023年10月6日

39-13

摘要: 假设有两个按元素值递减次序排列的线性表,均以单链表的形式存储,编写算法,将这两个单链表合成一个按值递减的单链表,使用原链表的结点。 没啥好说的,这个有手就行 #include <stdio.h> #include <stdlib.h> typedef struct node{ int data; s 阅读全文

posted @ 2023-10-06 20:25 四马路弗洛伊德 阅读(17) 评论(0) 推荐(0)

38-12

摘要: 在一个递增有序的单链表中,有数值相同的元素存在。去掉数值相同的元素,是表中不再有重复的元素。 双指针解决链表的百分之60的问题,三指针解决百分之80的问题,四指针解决百分之99的问题 脑子不够,指针来凑 #include <stdio.h> #include <stdlib.h> typedef s 阅读全文

posted @ 2023-10-06 20:08 四马路弗洛伊德 阅读(15) 评论(0) 推荐(0)

38-11

摘要: 设C={a1,b1,a2,b2,.....,an,bn};使用带头结点的单链表,将C分割成A={a1,a2,a3,....,an};,B={bn,bn-1,....,b2,b1}; 注意B是逆置,应采用头插法 对于abababab这种结点,可以使用count记录奇偶,也可以一个while循环中分别对 阅读全文

posted @ 2023-10-06 19:49 四马路弗洛伊德 阅读(21) 评论(0) 推荐(0)

38-10

摘要: 将一个带头结点的单链表A分解为两个带头结点的单链表A和B,使得A表中含有序号为奇数的元素,B表含有序号为偶数的元素,且保持相对顺序不变 应好好分析指针变化,可减少冗余代码!!! #include <stdio.h> #include <stdlib.h> typedef struct node{ i 阅读全文

posted @ 2023-10-06 12:12 四马路弗洛伊德 阅读(33) 评论(0) 推荐(0)

38-9

摘要: 给定一个带头结点的单链表,按递增次序输出单链表中各结点的数据元素,并释放空间。不允许使用辅助数组 使用直接插入排序,将链表递增,然后进行遍历删除操作 时间复杂度为O(N²) #include <stdio.h> #include <stdlib.h> typedef struct node{ int 阅读全文

posted @ 2023-10-06 11:48 四马路弗洛伊德 阅读(43) 评论(0) 推荐(0)

38-8

摘要: 给定两个链表,编写算法找出两个链表的公共结点 公共结点是指地址相同的结点,只有结点个数相同时,地址才会相同,画图理解 #include <stdio.h> #include <stdlib.h> typedef struct node{ int data; struct node *next; }L 阅读全文

posted @ 2023-10-06 10:38 四马路弗洛伊德 阅读(13) 评论(0) 推荐(0)

38-7

摘要: 带头结点的单链表中所有元素结点的值无序,编写一个函数,删除介于min和max之间的结点 删除操作中,快慢指针是最优解 #include <stdio.h> #include <stdlib.h> typedef struct node{ int data; struct node *next; }L 阅读全文

posted @ 2023-10-06 09:55 四马路弗洛伊德 阅读(22) 评论(0) 推荐(0)

38-6

摘要: 有一个带头结点的单链表L,设计一个算法使其元素递增有序 #include <stdio.h> #include <stdlib.h> typedef struct node{ int data; struct node *next; }LNode,*LinkList; void TailCreate 阅读全文

posted @ 2023-10-06 09:46 四马路弗洛伊德 阅读(31) 评论(0) 推荐(0)

导航