![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
13.链表及其处理
本专栏内介绍了单链表的增删改查四种基本操作方式.
好梦成真Kevin
Never ever give up.
展开
-
设计算法将一个带头结点的单链表A分解为两个具有相同结构的链表B和C, 其中B表的结点为A表中值<0的结点, 而C表的结点为A表中值≥0的结点(链表A中的元素为整数, 要求B、C表利用A表的结点)
#include<stdio.h>#include<stdlib.h>short InitHeadNode(struct Node* &, struct Node* &);short RearInsert(struct Node* &, struct Node* &, short);short GetListLength(struct Node* &);void Classify(struct Node* &, struct.原创 2021-05-22 21:34:51 · 1540 阅读 · 0 评论 -
已知两个链表A和B分别表示两个集合, 其元素递增排列. 设计一个算法, 求出A与B的交集, 并存放在C链表中
#include<stdio.h>#include<stdlib.h>short InitHeadNode(struct Node* &, struct Node* &);short RearInsert(struct Node* &, struct Node* &, short);short GetListLength(struct Node* &);short IsElemIn(struct Node* &, short.原创 2021-05-22 20:55:51 · 3620 阅读 · 0 评论 -
已知两个链表A和B分别表示两个集合, 其元素递增排列. 设计算法求出两个集合A和B的差集(即仅由在A中出现而不在B中出现的元素所构成的集合), 结果存放在链表A中, 同时返回所求差集中元素的个数
#include<stdio.h>#include<stdlib.h>short InitHeadNode(struct Node* &, struct Node* &);short RearInsert(struct Node* &, struct Node* &, short);short GetListLength(struct Node* &);short IsElemIn(struct Node* &, short.原创 2021-05-22 20:37:06 · 3191 阅读 · 1 评论 -
已知两个链表A和B分别表示两个集合, 其元素递增排列. 设计一个算法, 求出A与B的交集, 并存放在A链表中
#include<stdio.h>#include<stdlib.h>short InitHeadNode(struct Node* &, struct Node* &);short RearInsert(struct Node* &, struct Node* &, short);short GetListLength(struct Node* &);short IsElemIn(struct Node* &, short.原创 2021-05-22 20:16:44 · 3708 阅读 · 0 评论 -
删除单链表中大于mink且小于maxk的所有元素结点
[程序代码]#include<stdio.h>#include<stdlib.h>short InitHeadNode(struct Node* &, struct Node* &);short RearInsert(struct Node* &, struct Node* &, short);short GetListLength(struct Node* &);void DeleteNode(struct Node* &a.原创 2021-05-21 10:12:51 · 1274 阅读 · 0 评论 -
通过一趟遍历确定单链表中值最大的结点
[程序代码]#include<stdio.h>#include<stdlib.h>short InitHeadNode(struct Node* &, struct Node* &);short Traversal(struct Node* &);short RearInsert(struct Node* &, struct Node* &, short);short GetListLength(struct Node* &a.原创 2021-05-21 09:33:21 · 3236 阅读 · 0 评论 -
单链表操作模拟系统(12种功能)
今晚花了一晚上写了一个功能较完善的单链表操作模拟系统, 有助于帮助初学者初始单链表的各种操作. 虽然系统已经过本人简单的测试, 但可能还存在bug, 还请各位朋友帮我一起测试这个系统, 如有问题直接在评论区留言即可, 谢谢大家!#include<stdio.h>#include<stdlib.h>short InitLinkList(struct Node* &, struct Node* &);short RearInsert(struct No...原创 2021-05-18 21:48:45 · 163 阅读 · 0 评论 -
单链表的九种基本操作(2021.5)
1. 定义单链表结点Node: 单链表的结点由数据域和指针域共同构成, 数据域负责存储当前结点的数据信息, 指针域负责存储其直接后继结点在内存中的地址信息./* 单链表结点的定义 */struct Node{ short data; struct Node* next;};2. 初始化头结点:[注]通过malloc函数申请内存空间不一定会成功, 要根据其返回值判断是否申请到需要的内存空间. 如果malloc函数返回一个非NULL的地址信息, 那么说明内存空间申请..原创 2021-05-18 18:18:39 · 260 阅读 · 0 评论 -
单链表简单操作
#include<stdio.h>#include<stdlib.h>struct Node{ int data;/* 数据域 */ struct Node *next;};struct Node *head;/* 头指针 */struct Node *tail;/* 尾指针 */int node_Init()/* 初始化头结点 */{ head=(struct Node*)malloc(sizeof(struct Node)); i.原创 2021-01-06 11:08:19 · 75 阅读 · 0 评论