描述
在一组数据(数目不超过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; }