习题3.3 线性表元素的区间删除 (20point(s))
给定一个顺序存储的线性表,请设计一个函数删除所有值大于min而且小于max的元素。删除后表中剩余元素保持顺序存储,并且相对位置不能改变。
Example:
List Delete( List L, ElementType minD, ElementType maxD )
{
Position keep = 0;
for(Position i = 0; i <= L->Last; i++)
if(!(minD < L->Data[i] && L->Data[i] < maxD))
L->Data[keep++] = L->Data[i];
L->Last = --keep;
return L;
}
思路:
将找到的不符合删除条件的元素按索引keep放到原数组。