题目描述
建立顺序表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;
}
注意
该程序仅供学习参考!