急求 c语言高手帮助

来源:百度知道 编辑:UC知道 时间:2024/05/25 10:40:19
对顺序表的运算要求实现以下功能:
1、利用顺序结构定义线性表数据类型 seqlist
2、建立线性表, 输入线性表 list 各元素的数据
3、输出线性表 list 各元素的值
4、在线性表 list 的第 pos 个位置上插入数据值为 data 的一个新元素。
5、删除线性表 list 的第 pos 个位置上的元素。

这是实验的内容,请高手编程,特别指出 这是数据结构问题。

void InitList(SqList *L) /* 算法2.3 */
{ /* 操作结果:构造一个空的顺序线性表L */
(*L).elem=(ElemType*)malloc(LIST_INIT_SIZE*sizeof(ElemType));
if(!(*L).elem)
exit(OVERFLOW); /* 存储分配失败 */
(*L).length=0; /* 空表长度为0 */
(*L).listsize=LIST_INIT_SIZE; /* 初始存储容量 */
}

void DestroyList(SqList *L)
{ /* 初始条件:顺序线性表L已存在。操作结果:销毁顺序线性表L */
free((*L).elem);
(*L).elem=NULL;
(*L).length=0;
(*L).listsize=0;
}

void ClearList(SqList *L)
{ /* 初始条件:顺序线性表L已存在。操作结果:将L重置为空表 */
(*L).length=0;
}

Status ListEmpty(SqList L)
{ /* 初始条件:顺序线性表L已存在。操作结果:若L为空表,则返回TRUE,否则返回FALSE */
if(L.length==0)
return TRUE;
else
return FALSE;
}

int ListLength(SqList L)
{ /* 初始条件:顺序线性表L已存在。操作结果:返回L中数据元素个数 */
return L.length;
}

Status GetElem(SqList L,int i,ElemType *e)
{ /* 初始条件:顺序线性表L已存在,1≤i≤ListLength(L)