/********************************************************************************/
//返回L中数据元素个数,即为顺序表长度
//前提条件顺序表已经存在
int ListLength(SqList L)
{
return L.length;
}
/********************************************************************************/
//用e返回顺序表中第i个数据元素的值
//初始条件顺序表已经存在,且i值有效。
Status GetElem(SqList L, int i, ElemType *e)
{
if(L.length == 0 || i < 1 || i > L.length)
return ERROR;
//没有将地址返回到主函数中????,而有时候又可以
*e = *(L.elem+ i -1 ); //给e重新赋地址值
/********************************************************************************/
//返回L中数据元素个数,即为顺序表长度
//前提条件顺序表已经存在
int ListLength(SqList L)
{
return L.length;
}
/********************************************************************************/
//用e返回顺序表中第i个数据元素的值
//初始条件顺序表已经存在,且i值有效。
Status GetElem(SqList L, int i, ElemType *e)
{
if(L.length == 0 || i < 1 || i > L.length +1)
return ERROR;
//没有将地址返回到主函数中????,而有时候又可以
*e = *(L.elem+ i -1 ); //给e重新赋地址值
return OK;
}
/********************************************************************************/
//顺序表的销毁
//注意前提条件是顺序表已经存在
Status DestroyList(SqList *L)
{
L->elem = NULL;
L->length = 0;
L->listsize = 0;
return OK;
}
/********************************************************************************/
//在顺序表中第i个位置之前插入新的数据元素e,顺序表的长度加1
Status ListInsert(SqList *L , int i , ElemType e)
{
ElemType *q , *p;
ElemType *newbase;