0
点赞
收藏
分享

微信扫一扫

SWUST OJ 1103: 删除顺序表中指定区间的数据

题目描述

建立顺序表L,将指定区间的数据从顺序表中删除。假设指定区间是合法数据,无序做合法性判断。测试数据为整型。

输入

第一行是表长n;第二行是表中数据元素;第三行是闭区间。

输出

删除以后的顺序表中的数据元素。

样例输入

10
22 32 11 23 43 59 17 65 45 57
10 20

样例输出

22 32 23 43 59 65 45 57

参考程序

#include<stdio.h>
#include<stdlib.h>

#define Maxsize 50

typedef struct LNode
{
	int data[Maxsize];
	int len;
}LinkNode;

void Init(LinkNode *&S)
{
	S = (LinkNode *) malloc (sizeof(LinkNode));
	S->len = 0;
}

void Creat(LinkNode *&S, int n)
{
	while(S->len < n)
	{
		scanf("%d", &S->data[S->len]);
		S->len++;
	}
}

void DeNode(LinkNode *&L, LinkNode *&S, int a, int b)
{
	for(int i = 0; i<L->len; i++)
	{
		if(L->data[i] < a || L->data[i] > b)
		{
			S->data[S->len] = L->data[i];
			S->len++;
		}
	}
}

int main()
{
	int n, a, b;
	LinkNode*L, *S;
	Init(L);Init(S);
	scanf("%d", &n);
	Creat(L, n);
	scanf("%d%d", &a, &b);
	DeNode(L, S, a, b);
	for(int i=0; i < S->len; i++)
	{
		printf("%d ", S->data[i]);
	}
	return 0;
}

注意

该程序仅供学习参考!

举报

相关推荐

0 条评论