#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;
}

请问各位大佬,我这个insert函数为什么报错?
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
3条回答 默认 最新
- 快乐鹦鹉 2021-05-01 21:04关注
错了,循环中i>n改成i>n-1,这样第n个才能后移
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用