数据插入与删除

Posted 左岸繁华右岸殇

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据插入与删除相关的知识,希望对你有一定的参考价值。

今天做了一些小练习

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

}

以上是关于数据插入与删除的主要内容,如果未能解决你的问题,请参考以下文章

数据结构备忘录:红黑树的插入与删除

数据结构与算法 通俗易懂讲解 二叉搜索树插入删除

数据结构 c语言版 ——顺序表的查找、插入与删除

应更新数据时,NSManagedObject 的删除/插入与更新

HIVE - 插入覆盖与删除表 + 创建表 + 插入

大话数据结构(java程序)——顺序存储结构的插入与删除