#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 ReadInput(); void PrintList( List L );

int main() { List L; ElementType minD, maxD; L = ReadInput(); scanf("%d %d", &minD, &maxD); L = Delete( L, minD, maxD ); PrintList( L ); return 0; }

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; }

List Delete( List &L, ElementType minD, ElementType maxD ) { int i, j; for(i = 0, j = 0; i <= L->last; i++) { if(L->Data[i] >= minD && L->Data[i] <= maxD) { L->Data[j++] = L->Data[i]; } } L->last = j - 1; return L; }

void PrintList( List L ) { for(int i = 0; i <= L->last; i++) { printf("%d ", L->Data[i]); } }

C++ 删除线性表中特定范围元素并保持顺序

原文地址: http://www.cveoy.top/t/topic/pb3L 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录