#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);

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) { for (int i = 0; i <= L->last; i++) { printf('%d ', L->Data[i]); } }

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

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

C++ 编程:删除线性表中指定范围内的元素

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

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