新人不懂,都在说什么0001,代码是怎么区分的
答案:2 悬赏:40 手机版
解决时间 2021-11-28 23:29
- 提问者网友:萌卜娃娃
- 2021-11-27 23:44
新人不懂,都在说什么0001,代码是怎么区分的
最佳答案
- 五星知识达人网友:迟山
- 2021-11-27 23:55
#include
void Rearrangement(int *arr,int len,int a)
{
int i, j;
for(i=0;i {
if(a}//这个循环的作用是找到a应该插入到哪个位置
for(j = len; j > i; j --)
{
arr[j] = arr[j-1]; //对于i位置以后的数据,顺序向后移动一位,给a留出插入的空间
}
arr[i] = a;//插入a
}
int main()
{
int arr[5]={3,4,5,6};
Rearrangement(arr,4,2);//len应该是当前数组中的元素个数
for(int i=0;i<5;i++)
{
printf("%d ",arr[i]);
}
return 0;
}
代码优化一下 从后往前找位置,找的同时做移动 就可以改成一个循环解决问题
#include
void Rearrangement(int *arr,int len,int a)
{
int i;
for(i = len - 1; i >= 0; i --)
{
if(arr[i] <= a) break;//这个是之前的找位置功能
arr[i+1] = arr[i]; //一边找 一边移动
}
arr[i+1] = a;//插入a
}
int main()
{
int arr[5]={3,4,5,6};
Rearrangement(arr,4,2);//len应该是当前数组中的元素个数
for(int i=0;i<5;i++)
{
printf("%d ",arr[i]);
}
return 0;
}
void Rearrangement(int *arr,int len,int a)
{
int i, j;
for(i=0;i
if(a}//这个循环的作用是找到a应该插入到哪个位置
for(j = len; j > i; j --)
{
arr[j] = arr[j-1]; //对于i位置以后的数据,顺序向后移动一位,给a留出插入的空间
}
arr[i] = a;//插入a
}
int main()
{
int arr[5]={3,4,5,6};
Rearrangement(arr,4,2);//len应该是当前数组中的元素个数
for(int i=0;i<5;i++)
{
printf("%d ",arr[i]);
}
return 0;
}
代码优化一下 从后往前找位置,找的同时做移动 就可以改成一个循环解决问题
#include
void Rearrangement(int *arr,int len,int a)
{
int i;
for(i = len - 1; i >= 0; i --)
{
if(arr[i] <= a) break;//这个是之前的找位置功能
arr[i+1] = arr[i]; //一边找 一边移动
}
arr[i+1] = a;//插入a
}
int main()
{
int arr[5]={3,4,5,6};
Rearrangement(arr,4,2);//len应该是当前数组中的元素个数
for(int i=0;i<5;i++)
{
printf("%d ",arr[i]);
}
return 0;
}
全部回答
- 1楼网友:長槍戰八方
- 2021-11-28 00:49
sskx代码
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯