您的位置:首页 > 其它

数据插入与删除

2016-03-11 22:47 232 查看
今天做了一些小练习

/*
在一组数据(数目不超过10000)中,插入新数,删除所有与给定数相等的数据。
输入
第一行是未排序的一组非负整数,数目不超过10000。以-1作为结束标志。
第二行是要插入的数。
第三行是要删除的数。

输出
第一行输出自小到大排好序的数。如果没有元素,输出“No elements.”(不包括引号)。

第二行输出插入后自小到大排好序的数,以“,”隔开。

第三行输出删除后自小到大排好序的数,以“,”隔开。如果没有元素,输出“No elements.”(不包括引号)。
*/
#include<iostream>
using namespace std;
int main()
{
int const N=1000;
int arr[1000]={-1};
int a,i=0;
do
{
cin>>a;
if(a==-1)
break;
else
{
arr[i]=a;
i++;
}

}while(a>=0);
int n=i;
int input;
int del;
cin>>input;
cin>>del;
if(arr[0]==-1)
cout<<"No elements.";
else
{
for(i=0;i<n-1;i++)
for(int j=n-1;j>i;j--)
if(arr[j]<arr[j-1])
{
int k=arr[j-1];
arr[j-1]=arr[j];
arr[j]=k;
};
for(i=0;i<n;i++)
cout<<arr[i]<<" ";
cout<<"\n";
}
for(i=0;i<n;i++)
{
if (input<arr[i])
{
for(int j=n-1;j>=i;j--)
arr[j+1]=arr[j];
arr[i]=input;
break;
}
}
for(i=0;i<=n;i++)
cout<<arr[i]<<",";
cout<<"\n";
int q=0;
for(i=0;i<=n;i++)
{
if(arr[i]==del)
{
q++;
continue;
}
else
cout<<arr[i]<<",";

}
if(q==n+1)
cout<<"No elements.";
return 0;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: