对于线性表的顺序存储结构来说,如果我们要实现GetElem操作,即将线性表L中的第i个位置元素值返回,其实是非常简单的。
就程序而言,只要i的数值在数组下标范围内,就是把数组第i-1下标的值返回即可。来看代码:
#define TRUE 1#define FALSE 0#define OK 1#define ERROR 0typedef int Status;/* Status是函数的类型,其值是函数结果状态代码,如OK等 *///注意这里返回值类型Status是一个整型,返回OK代表1,ERROR代表0。之后代码中出现就不再详述。/* 初始条件:顺序线性表L已存在,1 ≤ i ≤ ListLength(L) *//* 操作结果:用e返回L中第i个数据元素的值 *///i为元素个数Status GetElem(SqList L, int i, ElemType *e){if (L.length == 0 || i < 1 || i > L.length)return ERROR;*e = L.data[i - 1];return OK;//注意这里返回值类型Status是一个整型,返回OK代表1,ERROR代表0。之后代码中出现就不再详述。}
