数据插入与删除

今天做了一些小练习

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

}

posted @ 2016-03-11 22:47  左岸繁华右岸殇  阅读(194)  评论(0编辑  收藏  举报