2) 输出链表 输出链表即顺序访问链表中各结点的数据域。方法是:从头结点开始,不断地读取数据和下移指针变量,直到尾结点为止。 3) 删除单向链表中的一个结点删除单向链表中一个结点的步骤如下(如图7-13所示): (1) 找到要删除结点的前驱结点。 (2) 将要删除结点的后继结点的地址赋给要删除结点的前驱结点的指针域。 (3) 将要删除结点的存储空间释放。 图7-13 删除单向链表的一个结点 【例7-14】 编写函数,在单向链表中删除值为x的结点。 4) 在单向链表的某结点前插入一个结点在单向链表的某结点前插入一个结点的步骤如下: (1) 开辟一个新结点并将数据存入该结点的数据域。 (2) 找到插入点结点。 (3) 将新结点插入到链表中。将新结点的地址赋给插入点上一个结点的指针域,并将插入点的地址存入新结点的指针域,如图7-14所示。 图7-14 在单向链表中插入一个结点 【例7-15】 编写函数,在单向链表中值为x的结点前插入值为y的结点,若值为x的结点不存在,则插在表尾。 【分析】 本例结合了查找和插入两种功能,可能遇到三种情况: ① 链表非空,值为x的结点存在,则插在值为x的结点之前; ② 链表非空,值为x的结点不存在,则插在表尾; ③ 链表为空,也相当于值为x的结点不存在,则插在表尾。 【例7-16】 单向链表的综合使用。 EX7-16.C程序的运行结果如图7-15和7-16所示。 图7-15 在链表已有数据3之前插入数据50 图7-16 在链表尾插入数据50 链表由头指针代表,要释放链表可以定义一个工作指针得到头指针,然后头指针和工作指针均不断下移,同时利用free()释放结点。 单向链表的各结点由动态存储分配函数分配存储单元,结点无变量名,靠指针访问,因此在使用时要注意不能形成死结点,即无指针指向的结点。 结构体和指针结合的应用领域很广,链表方面除了单向链表以外,还有环形链表、双向链表等;此外还用于队列、栈、树、图等数据结构。有关这些问题在“数据结构”课程中可以学习,在此不作赘述。 7.3 共?用?体?类?型 7.3.1 共用体类型定义 共用体类型定义如下: union 共用体名 { type 成员1; … type 成员n; }; 7.3.2 共用体类型变量声明 共用体变量的定义与结构体类似,也有三种方法:定义类型时同时定义变量;定义类型后,用类型名定义变量;不给类型名,直接定义变量。 说明: (1) 共用体变量所占字节数为各成员所占字节数的最大值。 (2) 共用体的成员共用同一段内存区,故共用变量与其各成员的地址相同,且同一时刻只有最后一次存入的成员值能正确读出。 (3) 共用体与结构体相似之处:都由不同类型的数据项组成;都只能对分量进行操作和引用。但是共用体变量不能进行初始化,而结构体变量可以初始化;也不能将共用变量作为函数参数,以及使函数返回一个共用数据,但可以使用指向共用变量的指针。 7.3.3 共用体类型变量引用 共用体类型变量与结构体类型变量一样,只能逐个引用共用变量的成员。简单的共用体变量和共用体类型的指针变量引用成员的方法如下: 共用体变量名. 成员名 使用共用体类型的指针 (*共用体指针名) . 成员或 共用体指针名 – 成员名 【例7-17】 共用体变量的引用示例。 共用体a占用内存4个字节,所以a.i=20048,在内存中存储的是0x00004E50,又因为大多数CPU的存储方式是低位存储法,在内存中是0x504E0000,所以s[0]中存放的是0x50对应的字符P, s[1]中存放的是0x4E对应的字符N。2对应的ASCII为0x32,1对应的ASCII为0x31,所以在内存中存放的是0也即0故a.i=12594。该示例的运行结果如图7-17所示。 图7-17 例7-17运行结果 7.4 枚 举 类 型 枚举类型用于声明一组命名的常数。当一个变量有几种可能的取值时,可以将它定义为枚举类型。 1.枚举类型定义 枚举类型定义的形式为 enum 枚举名{枚举元素名1,枚举元素名2,…,枚举元素名n}; 说明: (1) 枚举类型是一个集合,集合中的元素(枚举成员)是一些命名的整型常量,元素之间用逗号“,”隔开。 (2) 枚举名是一个标识符,可以看成这个集合的名字,是一个可选项,即是可有可无的。 (3) 第一个枚举成员的默认值为整型的0,后续枚举成员的值在前一个成员上加1。 (4
您可能关注的文档
最近下载
- 硕博研究生英语综合教程郭巍课后习题答案解析.pdf
- AP化学 2018年真题 (选择题+问答题) AP Chemistry 2018 Released Exam and Answers (MCQ+FRQ).pdf VIP
- 武汉地区区域工程地质及水文地质概况、成井方法、基坑工程连通性抽水试验、降水水位计算与预测、回灌试验技术要求.pdf VIP
- 《中国消化内镜技术诊断与治疗炎症性肠病的专家指导意见》解读.pptx
- 《食品感官检验技术》高职食品专业全套教学课件.pptx
- 组织碳中和声明模板.docx VIP
- 2024-2025学年湖北省襄阳市小升初英语真题1(含答案).pdf VIP
- 第九章射线分析原理及应用.ppt VIP
- (人教版2026新教材)地理八年级下册新教材解读课件.pptx
- 组织碳中和评价报告模板.docx VIP
原创力文档

文档评论(0)