实现代码在最下
带头结点链表例题的需求说明:
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的末尾
想要完成这个操作,需要知道的是指定节点的前驱节点的首地址,而不是这个指定节点的数据,所以通过两个函数来实现插入功能,一个来查找指定节点的前驱节点首地址,另一个具体实现插入
现在再考虑插入节点的问题
此时已经完成了创建链表 输入坐标,显示坐标,销毁链表和插入坐标,接下来进行坐标删除的思考
最后实现简单的坐标排序,行大小比较排序
代码截图