qq_43974351 2021-07-05 14:57 采纳率: 50%
浏览 51
已采纳

在一个有n个整形的递增序列上进行插入和删除操作

img

img

  • 写回答

1条回答 默认 最新

  • CSDN专家-link 2021-07-05 14:59
    关注

    很简单,只要把插入位置后面的所有元素向后移动一位,删除就是向前移动一位

    int a[100];
    int n= 0;
    //这里输入n以及n个整数,并用冒泡排序进行递增排序,略
    //插入代码
    int b = 20;
    for(int i=0;i<n;i++)
    {
      if(a[i] > b)
      {
        for(int j=n;j>=i;j--)
        {
          a[j] = a[j-1];
        }
        break;
      }
    }
    if(i==n)
        a[n] = b;
    n++;
    
    //删除代码
    int b = 20;
    for(int i=0;i<n;i++)
    {
      if(a[i] == b)
      {
        for(int j=i;j<n;j++)
        {
          a[j] = a[j+1];
        }
        n--;
        break;
      }
      if(i==n)
        printf("查无此数!\n");
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?