为了账号安全,请及时绑定邮箱和手机立即绑定

请问在C语言中index为什么一定等于-1?

请问在C语言中index为什么一定等于-1?

当年话下 2019-07-08 10:06:13
C语言中index为什么一定等于-1
查看完整描述

5 回答

?
至尊宝的传说

TA贡献1789条经验 获得超10个赞

1.索引表的类型可定义如下:
struct IndexItem
{
IndexKeyType index;
//IndexKeyType为事先定义的索引值类型

int start;
//子表中第一个元素所在的下标位置

int length;
//子表的长度域
};
2.首先根据给定的索引值K1,在索引表上查找出索引值等于K1的索引项,以确定对应子表在主表中的开始位置和长度,然后再根据给定的关键字K2,在对应的子表中查找出
3。关键字等于K2的元素。
设数组A是具有mainlist类型的一个主表,数组B是具有indexlist类型的在主表A上建立的一个索引表,m为索引表B的实际长度,即所含的索引项的个数,K1和K2分别为给定
带查找的索引值和关键字,并假定每个子表采用顺序存储,则索引查找算法为:

int Indsch(mainlist A, indexlist B, int m, IndexKeyType K1, KeyType K2)
{//利用主表A和大小为 m 的索引表B索引查找索引值为K1,关键字为K2的记录
//返回该记录在主表中的下标位置,若查找失败则返回-1
int i, j;
for (i = 0; i < m; i++)
if (K1 == B[i].index)
break;
if (i == m)
return -1; //查找失败
j = B[i].start;
while (j < B[i].start + B[i].length)
{
if (K2 == A[j].key)
break;
else
j++;
}
if (j < B[i].start + B[i].length)
return j; //查找成功
else
return -1; //查找失败
}

查看完整回答
反对 回复 2019-07-13
?
白猪掌柜的

TA贡献1893条经验 获得超10个赞

索引表的类型可定义如下: struct IndexItem { IndexKeyType index; //IndexKeyType为事先定义的索引值类型 int start; //子表中第一个元素所在的下标位置 int length; //子表的长度域 }; 2.首先根据给定的索引值K1,在索引表上查找出索引值等...

查看完整回答
反对 回复 2019-07-13
?
慕沐林林

TA贡献2016条经验 获得超9个赞

index有两种形式:数组和引用。数组形式通常返回数值或数值数组;引用形式通常返回引用。

例中,index(S2,'8')为S2的值


查看完整回答
反对 回复 2019-07-13
  • 5 回答
  • 0 关注
  • 644 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信