函数题2:
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 (L->Data[i] == X) {
return i;
}
}
return ERROR;
}
bool Insert( List L, ElementType X, Position P ) {
if (L->Last == MAXSIZE - 1) {
printf("FULL\n");
return false;
}
if (P < 0 || P > L->Last + 1) {
printf("ILLEGAL POSITION\n");
return false;
}
for (int i = L->Last; i >= P; i--) {
L->Data[i + 1] = L->Data[i];
}
L->Data[P] = X;
L->Last++;
return true;
}
bool Delete( List L, Position P ) {
if (P < 0 || P > L->Last) {
printf("POSITION %d EMPTY\n", P);
return false;
}
for (int i = P; i < L->Last; i++) {
L->Data[i] = L->Data[i + 1];
}
L->Last--;
return true;
}
浙公网安备 33010602011771号