各个操作函数的定义为:
List MakeEmpty():创建并返回一个空的线性表;
Position Find( List L, ElementType X ):返回线性表中X的位置。若找不到则返回ERROR;
bool Insert( List L, ElementType X, Position P ):将X插入在位置P并返回true。若空间已满,则打印“FULL”并返回false;如果参数P指向非法位置,则打印“ILLEGAL POSITION”并返回false;
bool Delete( List L, Position P ):将位置P的元素删除并返回true。若参数P指向非法位置,则打印“POSITION P EMPTY”(其中P是参数值)并返回false
创建线性表:首先定义一个对应类型的指针,申请空间,注意初始状态时,Last为-1。
返回线性表中的X的位置:遍历查找。
插入:在不满状态时,插入位置只能为表中间或者表尾。在表中插入元素前,将其插入位置后面的元素都向后移一位,最后Last++。
删除:删除后,表中删除元素位置后面所有元素向前移一位,最后Last–。
List MakeEmpty()
{
List L = (List)malloc(sizeof(LNode));
L->Last = -1;
return L;
}
Position Find(List L, ElementType X)
{
for (int i = 0; i <=L->Last; i++)
if (L->Data[i] == X)
return i;
re