C#窗体程序:线性单链表的应用

功能分析

实现功能:

  • 记录城市信息
  • 具有头插与尾插功能
  • 删除指定索引的记录
  • 更新指定索引的记录
  • 根据城市名称获取城市位置
  • 查询目标城市距离范围内的所有城市

实现程序

C#窗体程序:线性单链表的应用

实现过程

  • 城市信息功能
    需要控件groupbox、三个label控件和三个textBox控件
    实现功能获取从textBox控件中输入的text属性
    C#窗体程序:线性单链表的应用

  • 单链操作功能
    需要可以处理的单链表_lst、五个button按钮、三个numbericupdown控件和一个listbox控件
    _lst: ILineList属性作为全局变量处理,用于单链表添加city类,链表中包含remove(),Insert(),clear(),IsEmpty(),search(),Clear(),InsertAtFirst()和InsertAtLast()函数
    button:实现头插,尾插,插入,删除,更新功能
    numbericUpDown:获取需要操作的索引位置
    listBox:将单链表中添加元素显示
    注意:这里的listbox里面有输出类型格式的要求,所以需要通过新建类型重写ToString方法
    C#窗体程序:线性单链表的应用
    C#窗体程序:线性单链表的应用

  • 查找坐标功能
    实现控件:一个groupbox控件,三个label控件,三个textBox控件和一个Button按钮
    通过城市名称的textbox控件获取输入的text属性,遍历_lst中,通过节点的移动,每次查找节点的Data部分中的city_name来对比和输入的城市名称获取其中的x和y部分
    C#窗体程序:线性单链表的应用

  • 查找城市功能
    实现控件:三个label控件、三个textbox控件、一个button按钮和一个listbox控件。
    注意:这里的listbox里面有输出类型格式的要求,所以需要通过新建类型重写ToString方法
    同时需要确定距离公式的计算
    C#窗体程序:线性单链表的应用

异常检查

对程序中可能出现的异常进行处理,主要遇到的是IsNullOrEmpty()异常和链表查询时超出边界的异常