解题代码
List Delete(List L, ElementType minD, ElementType maxD) {
Position i;
Position* a = (Position *)malloc((L->Last + 1) * sizeof(Position));
Position front = 0, rear = 0;
Position max = L->Last;
for (i = 0; i <= max; i++) {
if (L->Data[i] > minD&&L->Data[i] < maxD) {
a[rear++] = i;
L->Last--;
}
else {
a[rear++] = i;
L->Data[a[front++]] = L->Data[i];
}
}
return L;
}
测试结果
问题整理
1.别忘记返回值。。
2.L->Last指的是最后一个元素的下标。