在一组数据(数目不超过10000)中,插入新数,删除所有与给定数相等的数据。
输入
第一行是未排序的一组非负整数,数目不超过10000。以-1作为结束标志。
第二行是要插入的数。
第三行是要删除的数。
输出
第一行输出自小到大排好序的数。如果没有元素,输出“No elements.”(不包括引号)。
第二行输出插入后自小到大排好序的数,以“,”隔开。
第三行输出删除后自小到大排好序的数,以“,”隔开。如果没有元素,输出“No elements.”(不包括引号)。
样例输入
100 98 79 63 44 99 -1
88
79
#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 (i=0;i<m-1;i++)
{
for (j=m-1; j>i;j--)
{
if (str[j-1]>str[j])
{
temp = str[j-1];
str[j-1] = str[j];
str[j] = 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 (i = 0; i<m; i++)
{
for (j = m; j>i; j--)
{
if (str[j - 1]>str[j])
{
temp = str[j-1];
str[j-1] = str[j];
str[j] = 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;
}