本文实例讲述了c语言实现链表实現的双链表功能分享给大家供大家参考,具体如下:
printf("要查找的数据在单链表中不存在!\n");
希望本文所述对大家c语言实现链表程序设计有所幫助
掌握结构体指针后,链表作为兩种形式的集合将c语言实现链表的作用发挥到巨大。
链表是线性表包括两个部分:数据域&指针域
数据域:存储需要保存的数据
指针域:各个节点之间的连接
连续性:链表在逻辑上是连续的,但物理上未必连续
链表主要有单向链表双向链表,循环链表
下面对单向链表进行举例操作:
操作环境:keil v4,串口软件有硬件支持
//定义全局变量,实现每个え素的id不同
*功能:删除指定id位置的元素
*功能:修改指定id位置的元素
*功能:寻找指定id位置的元素
//执行一:循环加入10个链表元素
执行每一步功能操作可单独处理
?学习链表之前先来看几个术語:
??首节点:存放第一个有效数据的节点;
??尾节点:存放最后一个有效数据的节点;
??头节点:头节点的数据类型与首节点的數据类型相同,并且头节点是首节点前面的那个节点并不存放有效数据;头节点的存在只是为了方便链表的操作。
??头指针:指向头節点的指针;
??尾指针:指向尾节点的指针
?1. 创建节点:头节点的指针域初始为空将新创立的节点依次挂到上面。p1始终指向最后一个节点p2始终為新建立的节点。
?2. 插入节点:先查找该节点要插入的位置在插入节点。插入的语句为:
?3. 删除节点:查找要删除的节点的位置执行插入操作,语句:
?4. 输出链表:知道头指针就能知道整个链表