#include 'LinearList.h'

int main(int argc, char* argv[]) { SqList L; int i;

//
// 初始化线性表
//
if (Initlist(&L) != OK) {
	return 0;
}

int length = 8;
for (int i = 0; i < length; i++)
{
	L.elem[i] = i * 2 + 1;
	++L.length;
}
//
// 在第 i 个元素之后插入元素
//
ListInsertAfter(&L, 3, 38);
ListInsertAfter(&L, 14, 65);			// 插入位置非法。插入失败。

for (i = 0; i < L.length; i++)
{
	printf("%d ",  L.elem[i]);
}
printf("\n");

return 0;

}

/* 功能: 初始化线性表。

参数: L -- 线性表

返回值: 无 / Status Initlist(SqList L) { L->elem = malloc(MAXSIZE * sizeof(ElemType)); if (!L->elem) exit(OVERFLOW); L->length = 0; L->maxLength = MAXSIZE; return OK; }

/* 功能: 销毁线性表。

参数: L -- 线性表

返回值: 无 / void DestoryList(SqList L) { free(L->elem); L->length = 0; }

/* 功能: 在第 i 个元素之后插入一个元素。

参数: L -- 线性表 i -- 指定位置。从 1 开始计数 e -- 插入的元素

返回值: 如果插入成功返回 1 如果插入失败返回 0 / Status ListInsertAfter(SqList L, int i, ElemType e) { int j = 0; // 初始化游标位置

//
// TODO: 在此添加代码
//

return ERROR;

} Status ListInsertBefore(SqList* L, int i, ElemType e) { int j; //判断线性表是否已满 if (L->length >= MAXSIZE) return ERROR; //判断插入位置是否合法 if (i < 1 || i > L->length) return ERROR; //将第 i 个元素之后的元素依次后移 for (j = L->length - 1; j >= i - 1; j--) L->elem[j + 1] = L->elem[j]; //在第 i 个元素之后插入元素 L->elem[i] = e; //线性表长度加1 L->length++; return OK; }


原文地址: https://www.cveoy.top/t/topic/eQAD 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录