#include
struct stu
{
char s[100];
} ;
int main()
{
int n,i,a,b,j;
int w[50100]= {0};
int q[50100]= {0};
while(~scanf("%d",&n))
{
struct stu k[n+100];
for(i=1; i<=n; i++)
{
scanf("%s",k[i].s);
if(strcmp(k[i].s,"ins")==0)
{
scanf("%d%d",&a,&b);
for(j=1; j<=n; j++)
q[j]=w[j];
w[a]=b;
for(j=a; j<=n; j++)
w[j+1]=q[j];
}
else if(strcmp(k[i].s,"del")==0)
{
scanf("%d",&a);
for(j=a; j<=n+1; j++)
{
w[j]=w[j+1];
}
}
else
{
for(j=1; j<=n+1; j++)
{
if(w[j]!=0)
{
printf("%d ",w[j]);
}
else break;
}
printf("\n");
}
}
}
return 0;
}
有一个线性表需要你实现插入和删除操作。
ins x n:表示在x位置插入整数n。
del x:表示删除x位置上的数据。
show:表示打印出该表中的所有元素
有多组测试数据。每个测试数据第一行给出操作数M(0<M<50000);之后的M行随机给出操作类型。