1014-数据的插入与删除

描述

 

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

  

posted @ 2013-11-21 22:24  七年之后  阅读(414)  评论(0编辑  收藏  举报