C语言实现单链表操作:插入、删除、查找

4星 · 超过85%的资源 需积分: 9 19 下载量 163 浏览量 更新于2024-09-18 收藏 10KB TXT 举报
"单链表的C语言实现,包括创建、搜索、插入、删除和打印节点功能" 在计算机科学中,单链表是一种基础的数据结构,用于存储一系列有序的元素。单链表中的每个元素称为节点,每个节点包含数据部分和一个指向下一个节点的指针。这个给定的代码实现了一个完整的单链表程序,提供了创建链表、按位置搜索、按数值搜索、插入新节点、删除节点以及打印链表的功能。 首先,我们定义了一个结构体`lian_node`,它表示链表中的一个节点。结构体包含三个成员: 1. `int n`:表示节点的位置或索引。 2. `int num`:存储节点的数值。 3. `struct lian_node* link`:指向下一个节点的指针。 接着,我们有以下几个函数: 1. `struct lian_node* Create_Lian_Doc()`:此函数用于创建一个新的空链表。它将返回链表的头节点。 2. `void SearchDoc_n(struct lian_node* link, int n)`:这个函数根据给定的位置`n`在链表中搜索节点。如果找到,它会打印该节点的信息;否则,它会显示一个未找到的提示。 3. `void SearchDoc_num(struct lian_node* link, int num)`:这个函数通过给定的数值`num`来搜索链表中的节点。如果找到匹配的节点,它会打印节点的信息;否则,会显示未找到的提示。 4. `void InsertDoc(struct lian_node* llist, struct lian_node* p, int n)`:此函数接收链表的头节点、待插入的新节点`p`和插入位置`n`,然后将新节点插入到链表的指定位置。 5. `void DeleteDoc(struct lian_node* llist, int n)`:这个函数删除链表中位置为`n`的节点。注意,链表的索引通常从0开始,因此传入的`n`应该是要删除的节点的索引。 6. `void Print_Lian_Doc(struct lian_node* llist)`:这个函数遍历整个链表并打印所有节点的信息。 在主函数`main`中,用户被给予以下选项: 1. 创建新的节点(添加到链表)。 2. 删除指定位置的节点。 3. 在链表中插入新的节点。 4. 退出程序。 用户输入对应的数字选择操作,然后根据提示输入相应的数值。程序会执行相应的操作,并显示结果。通过这样的交互式程序,用户可以更好地理解和掌握单链表的基本操作。 总结来说,这个单链表程序是学习和实践数据结构基础的一个很好的实例,它涵盖了链表的基本操作,对于初学者尤其有帮助。通过运行和修改这个程序,用户可以深入理解链表的工作原理和操作方法。