qq_14908935 2021-05-01 20:47 采纳率: 42.9%
浏览 31
已采纳

请问各位大佬,我这个insert函数为什么报错?

#include<iostream>
#define maxsize 100
using namespace std;

int arr[maxsize]={-2,3,6,1,7,9,11,4,-5,9};
int length=10;

void partation(int arr[],int length,int k)
{
    
    int i=0;
    int j=length-1;
    int temp=arr[0];
   while(i<j)
    {
        while(i<j&&k<=arr[j])
        --j;
        if(i<j)
        {
            arr[i]=arr[j];
            i++;
        }
        while(i<j&&k>arr[i])
        ++i;
        if(i<j)
        {
            arr[j]=arr[i];
            j++;
        }
        
    }
    arr[i]=temp;
    
}

int insert(int arr[],int length,int n,int c)
{
    if(n<0||n>length-1||length>=maxsize)
    return 0;
    for(int i=length-1;i>n;++i)
    arr[i+1]=arr[i];
    arr[n]=c;
    return 1;
}


int main()
{
    partation(arr,length,5);
    insert(arr,length,3,100);
    for(int i=0;i<length;++i)
    cout<<arr[i]<<" ";
    
    return 0;
}
  • 写回答

3条回答 默认 最新

  • 快乐鹦鹉 2021-05-01 21:04
    关注

    错了,循环中i>n改成i>n-1,这样第n个才能后移

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 wamp3.3.5安装完成后图标正常显示绿色,鼠标左右键点击图标均无反应。求解决方法。
  • ¥15 鼠标点击的这条记录了什么?
  • ¥15 在写pid调速的程序时,电机始终维持最大速度
  • ¥15 请问如何查看手机root记录?
  • ¥15 商城小程序订单号重复
  • ¥15 学校优化算法sbo和蚁群算法怎么结合
  • ¥21 matlab怎么求时域信号的二阶导数
  • ¥15 判断两个表是否完全相同
  • ¥15 java map类型数据格式,如何快速通过前缀匹配元素
  • ¥15 stc12c5a60s2、QMC5883L、LCD1602组合测量磁场所需程序