#include<iostream>
using namespace std;
int main()
{
int n,i,j,c,f;
int a[50],b[50],temp;
while(cin>>n)
{
f=0;
for(i=0;i<n;i++)
cin>>a[i];
cin>>c;
for(i=0;i<n;i++)
{
if(a[i]==c)
++f;
}
if(f>0)
{
j=0;
for(i=0;i<n;i++)
{
if(a[i]!=c)
b[j++]=a[i];
}
if(j==0)
continue;
for(i=0;i<j;i++)
{
if(i==0)
cout<<b[0];
else
cout<<" "<<b[i];
}
cout<<endl;
}
else if(f==0)
{
temp=0;
n++;
a[n-1]=c;
for(j=0;j<n;j++)
{
for (i=0;i<n-j-1;i++)
if (a[i]>a[i+1])
{
temp=a[i];
a[i]=a[i+1];
a[i+1]=temp;
}
}
for(i=0;i<n;i++)
{
if(i==0)
cout<<a[0];
else
cout<<" "<<a[i];
}
cout<<endl;
}
}
return 0;
using namespace std;
int main()
{
int n,i,j,c,f;
int a[50],b[50],temp;
while(cin>>n)
{
f=0;
for(i=0;i<n;i++)
cin>>a[i];
cin>>c;
for(i=0;i<n;i++)
{
if(a[i]==c)
++f;
}
if(f>0)
{
j=0;
for(i=0;i<n;i++)
{
if(a[i]!=c)
b[j++]=a[i];
}
if(j==0)
continue;
for(i=0;i<j;i++)
{
if(i==0)
cout<<b[0];
else
cout<<" "<<b[i];
}
cout<<endl;
}
else if(f==0)
{
temp=0;
n++;
a[n-1]=c;
for(j=0;j<n;j++)
{
for (i=0;i<n-j-1;i++)
if (a[i]>a[i+1])
{
temp=a[i];
a[i]=a[i+1];
a[i+1]=temp;
}
}
for(i=0;i<n;i++)
{
if(i==0)
cout<<a[0];
else
cout<<" "<<a[i];
}
cout<<endl;
}
}
return 0;
}
Problem Description
对值递增有序的顺序表进行以下操作:若表中存在值为x的元素,则将它从表中删除;否则,就往表中插入一个值为x的元素,并保持表值递增有序的性质不变(假设表中没有值相同的元素)。处理后若为空表则不输出。
Input
每组数据包括3行,第一行表示顺序表的长度n(不会超过50);第二行表示顺序表的所有元素;第三行表示x值。
Output
输出执行操作后的顺序表,元素之间用一个空格分隔。
Sample Input
5 1 3 5 7 9 3 5 1 3 5 7 9 4
Sample Output
1 5 7 9 1 3 4 5 7 9
Author
Recommend
zh