描述
在一组数据(数目不超过10000)中,插入新数,删除所有与给定数相等的数据。
输入
第一行是未排序的一组非负整数,数目不超过10000。以-1作为结束标志。
第二行是要插入的数。
第三行是要删除的数。
输出
第一行输出自小到大排好序的数。如果没有元素,输出“No elements.”(不包括引号)。
第二行输出插入后自小到大排好序的数,以“,”隔开。
第三行输出删除后自小到大排好序的数,以“,”隔开。如果没有元素,输出“No elements.”(不包括引号)。
样例输入
100 98 79 63 44 99 -1
88
79
样例输出
44,63,79,98,99,100
44,63,79,88,98,99,100
44,63,88,98,99,100
#include<iostream>
using namespace std;
int main()
{
int m=0,i,j,jia,jian,temp,str[10001];
while(cin>>str[m]&&str[m]!=-1)
{m++;}
cin>>jia>>jian;
str[m]=jia;
for(j=m-2;j>=0;j--)
{
for(i=0;i<=j;i++)
{
if(str[i]>str[i+1])
{
temp=str[i];
str[i]=str[i+1];
str[i+1]=temp;
}
}
}
if(m==0)
cout<<"No elements."<<endl;
else{
for(i=0;i<=m-2;i++)
{
cout<<str[i]<<',';
}
cout<<str[m-1]<<endl;
}
for(j=m-1;j>=0;j--)
{
for(i=0;i<=j;i++)
{
if(str[i]>str[i+1])
{
temp=str[i];
str[i]=str[i+1];
str[i+1]=temp;
}
}
}
for(i=0;i<=m-1;i++)
{
cout<<str[i]<<',';
}
cout<<str[m]<<endl;
for(i=0;i<=m;i++)
{
if(str[i]==jian)
{
for(j=i;j<=m-1;j++)
{
str[j]=str[j+1];
}
m=m-1;
i=i-1;
}
}
if(m==-1)
{
cout<<"No elements."<<endl;
}
else
if(m==0)
{
cout<<str[m]<<endl;
}
else{
for(i=0;i<=m-1;i++)
{
cout<<str[i]<<',';
}
cout<<str[m]<<endl;}
return 0;
}