对于线性表的顺序存储结构来说,如果我们要实现GetElem操作,即将线性表L中的第i个位置元素值返回,其实是非常简单的。
    就程序而言,只要i的数值在数组下标范围内,就是把数组第i-1下标的值返回即可。来看代码:

    1. #define TRUE 1
    2. #define FALSE 0
    3. #define OK 1
    4. #define ERROR 0
    5. typedef int Status;
    6. /* Status是函数的类型,其值是函数结果状态代码,如OK等 */
    7. //注意这里返回值类型Status是一个整型,返回OK代表1,ERROR代表0。之后代码中出现就不再详述。
    8. /* 初始条件:顺序线性表L已存在,1 ≤ i ≤ ListLength(L) */
    9. /* 操作结果:用e返回L中第i个数据元素的值 */
    10. //i为元素个数
    11. Status GetElem(SqList L, int i, ElemType *e)
    12. {
    13. if (L.length == 0 || i < 1 || i > L.length)
    14. return ERROR;
    15. *e = L.data[i - 1];
    16. return OK;//注意这里返回值类型Status是一个整型,返回OK代表1,ERROR代表0。之后代码中出现就不再详述。
    17. }