带头结点链表例题(点坐标管理)

实现代码在最下

带头结点链表例题的需求说明:
1.实现对屏幕上点坐标进行管理
2.屏幕点坐标由行坐标和列坐标组成,且行坐标取值1-25,列坐标取值1-80
3.实现点坐标的录入
4.实现点坐标的插入
5.实现点坐标的删除
6.实现点坐标的输出
7.实现按行坐标升序排列
8.要求用链表实现以上需求

结构体示例如下:
typedef struct POINT {
int row;
int col;
struct POINT *next;
}POINT;

程序实现前要点与思路
我们需要创建一个链表来实现这个小工具,那么链表创建的第一步该如何进行?
在这里插入图片描述
当知道如何进行最简单的链表创建,接下来 ,需要实现录入功能并创建有效的链表
在这里插入图片描述
接下来需要输出已经录入的点坐标

在这里插入图片描述
现在实现销毁即释放先前malloc()申请的空间
在这里插入图片描述
现在来实现插入的操作 ,先考虑其具体实现的功能
这里需要先输入新插入点的数据,寻找到指定插入点,并采用前插法进行,如果在先前pointList中没有指定的插入点,则新节点默认追加到pointList的末尾
想要完成这个操作,需要知道的是指定节点的前驱节点的首地址,而不是这个指定节点的数据,所以通过两个函数来实现插入功能,一个来查找指定节点的前驱节点首地址,另一个具体实现插入
在这里插入图片描述
现在再考虑插入节点的问题
在这里插入图片描述
在这里插入图片描述

此时已经完成了创建链表 输入坐标,显示坐标,销毁链表和插入坐标,接下来进行坐标删除的思考
在这里插入图片描述
最后实现简单的坐标排序,行大小比较排序
在这里插入图片描述

代码截图
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值