C语言线性表删除指定范围元素示例
#include <stdio.h> #include <stdlib.h> #define MAXSIZE 20 typedef int ElementType; typedef int Position; typedef struct LNode List; struct LNode { ElementType Data[MAXSIZE]; Position last; / 线性表的长度*/ };
List Delete( List &L, ElementType minD, ElementType maxD ) { List newList = (List)malloc(sizeof(struct LNode)); int i, j; newList->last = -1;
for (i = 0; i <= L->last; i++) {
if (L->Data[i] < minD || L->Data[i] > maxD) {
newList->Data[++newList->last] = L->Data[i];
}
}
return newList;
}
List ReadInput() { List L = (List)malloc(sizeof(struct LNode)); int num, i; scanf("%d", &num);
for (i = 0; i < num; i++) {
scanf("%d", &(L->Data[i]));
}
L->last = num - 1;
return L;
}
void PrintList( List L ) { int i; for (i = 0; i <= L->last; i++) { printf("%d ", L->Data[i]); } }
int main() { List L; ElementType minD, maxD;
L = ReadInput();
scanf("%d %d", &minD, &maxD);
L = Delete( L, minD, maxD );
PrintList( L );
return 0;
}
原文地址: http://www.cveoy.top/t/topic/pb4k 著作权归作者所有。请勿转载和采集!