List MakeEmpty()
{
List L = (List)malloc(sizeof(struct LNode));
L->Last = -1;
return L;
}
Position Find( List L, ElementType X )
{
for (int i = 0; i <= L->Last; i ++ )
if(X == L->Data[i])
return i;
return ERROR;
}
bool Insert( List L, ElementType X, Position P )
{
if(L->Last == MAXSIZE - 1)
{
printf("FULL");
return false;
}
if(P < 0 || P > L->Last + 1)
{
printf("ILLEGAL POSITION");
return false;
}
for (int i = L->Last + 1; i > P; i -- )
L->Data[i] = L->Data[i - 1];
L->Data[P] = X;
L->Last ++;
return true;
}
bool Delete( List L, Position P )
{
if(P < 0 || P > L->Last)
{
printf("POSITION %d EMPTY",P);
return false;
}
for (int i = P; i < L->Last; i ++ )
L->Data[i] = L->Data[i + 1];
L->Last --;
return true;
}
“相关推荐”对你有帮助么?
-
非常没帮助
-
没帮助
-
一般
-
有帮助
-
非常有帮助
提交