获得元素的操作代码:
#define OK 1
#define ERROR 0
#define TRUE 1
#define FALSE 0
typedef int Status;
Status GetElem(SqList L, int i, ElemType *e)
{
if(L.length == 0 || i < 1 || i > L.length)
return ERROR;
*=L.data[i - 1];
return OK;
}
插入算法的思路:
1、如果插入位置不合理,提示异常。
2、如果线性表长度大于等于数组长度,则提示异常或着动态增加容量。
3、从最后一个元素开始向前遍历到第i个位置,分别将它们都向后移动一个位置。
4、将插入的元素填入位置i处。
5、表长加1。
代码:
Status ListInsert(SqList *L, int i, ElemType e)
{
int k;
if (L->length == MAXSIZE) //顺序线性表满
return ERROR;
if (i < 1 || i > L->length + 1) //i不在范围时
return ERROR;
if (i <= L->length) //插入数据位置不在标尾
{
for (k = L->length - 1; k >= i - 1; k--)
//将要插入位置后的数据元素向后移动一位
L->data[k + 1]