数据结构-顺序表4

四.判空函数

我们看顺序表怎么样就可以判断为一个空表——表中的有效元素数据的个数即长度为0.

五.查找key值元素函数

1.一进入函数先参数判断

2.寻找key值,for循环挨个遍历

现在来测试一下查找函数

在前面插入了0~9的10个数字基础上有

这里说一下一个好的测试习惯要怎么测。首先测试用例要把各方面的边界都考虑到

一般应该有5个方面:(在数据量很多的情况)

在有效数据范围之外的无效数据

1.下标小于0,左边

2.下标大于等于length,右边

在有效数据的2个边界处(线的两端)

3.下标为0

4.下标为length-1

在有效数据长度的内部的随机位置的数值

5.0<i<length

我们这个数据量不太多,正常测的话可以从头到尾(用for循环)全测一遍

测试代码如下:

int main()
{
	SQList sq;//定义一个SQList类型的变量sq,即定义一个叫sq的顺序表。但(text)并不认识SQList,所以要#include"sqlist.h"
	InitSqlist(&sq);//初始化.SQ要&sq,PSQ则sq

	for (int i = -1; i < 20; i++)//模拟pos值为-1,pos值大于顺序表长度10之后,的错误
	{
		Insert(&sq, i, i);
	}
	Show(&sq);//不写到循环里

	int i = Search(&sq, 5);//定义一个i来接收Search的返回值,-1或下标值
	if (i >= 0)
	{
		printf("该值位于%d号下标\n", i);//该值指的是key值5
	}
	else
	{
		printf("没有找到该值\n");
	}

	int index;//定义下标
	for (int i = -1; i < 20; i++)
	{
		index= Search(&sq, i);
		if (index>= 0)
		{
			printf("%d位于%d号下标\n", i,index);//该值指的是key值5
		}
		else
		{
			printf("没有找到该值\n");
		}
	}

	return 0;
}

其运行结果为

可以看到在上述测试的5个方面的条件中,1,2均为“没有找到该值”,3,4,5均找到其位置。测试全部符合条件。        这些测试可以反应我们在函数的实现中“参数判断”或“移动边界条件判断”等方面是否存在问题。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值