顺序表定义:
typedef struct
{
}ElemType;
typedef struct//顺序表结构类型定义
{
ElemType* R;//表基址
int length;//表长
}SSTable;//Sequential Search Table
SSTable ST;//定义顺序表ST
在顺序表ST中查找值为key的数据元素
int Search_Seq(SSTable ST, ElemType key)
{
ST.R[0] = key;
for (int i = ST.length; ST.R[i] != key; --i);//从后往前找,注意这里有分号
return i;
}
将ST.R[0]
称为哨兵,引入目的是使得Search_Seq内的循环不必判断数组是否会越界,因为当满足i==0
时,循环一定会跳出。