-
把ADT里谈及的操作都过一遍吧。前面谈到了初始化、创建、插入、遍历等操作,现在就来看看如何判断一个线性表是否为空、还有把一个线性表置为空的操作吧。
ADT里判断线性表是否为空的函数设计如下:bool listEmpty(L); //判断一个线性表是否为空,不修改表传值
/* 初始条件:顺序线性表L已存在。操作结果:若L为空表,则返回TRUE,否则返回FALSE */ Status ListEmpty(SqList L) { if(L.length==0) return TRUE; else return FALSE; }
-
其实就是判断表的长度是否为0而已。将表置空的函数就更简单了,直接将长度赋值为0即可。
/* 初始条件:顺序线性表L已存在。操作结果:将L重置为空表 */ Status ClearList(SqList *L) { L->length=0; return OK; }
函数调用:
i=ClearList(&L); printf("清空L后:L.length=%d\n",L.length);
注意这里是使用地址传值,毕竟要对表进行清空操作,所以这里不用值传递。
这两个函数如果要测试的话可以自行加入到上一篇的完整可运行代码里。
延伸阅读
此文章所在专题列表如下:
- 第01话:线性表的概念与定义
- 第02话:线性表的抽象数据类型ADT定义
- 第03话:线性表的顺序存储结构
- 第04话:线性表的初始化
- 第05话:线性表的遍历、插入操作
- 第06话:判断线性表是否为空与置空操作
- 第07话:线性表的查找操作
- 第08话:线性表删除某个元素
- 线性表顺序存储的优缺点
- 线性表链式存储结构的由来与基本概念
- 单链表的头指针、头结点与首元结点
- 单链表的结构体定义与声明
- 单链表的初始化
- 单链表的插入与遍历操作
- 单链表的删除某个元素的操作
- 获取单链表中的指定位置的元素
- 查找某数在单链表中的位置
- 用头插法实现单链表整表创建
- 用尾插法实现单链表整表创建
- 将单链表重置为空表
- 单链表反转/逆序的两种方法
- 单链表反转/逆序的第三种方法
- 求单链表倒数第N个数
- 用标尺法快速找到单链表的中间结点
- 如何判断链表是否有环的存在
- 单链表建环,无环链表变有环
- 删除单链表中的重复元素
本文地址:http://www.nowamagic.net/librarys/veda/detail/2203,欢迎访问原出处。