数组A[1,,m,1,,n]的表示是什么意思?还有A[0,,4,-1,,-3,5,,7],中间的数值表示的什么?
答案:1 悬赏:80
解决时间 2021-01-07 17:54
- 提问者网友:棒棒糖
- 2021-01-07 14:17
数组A[1,,m,1,,n]的表示是什么意思?还有A[0,,4,-1,,-3,5,,7],中间的数值表示的什么?
最佳答案
- 二级知识专家网友:不甚了了
- 2021-01-07 15:09
核心算法:分别倒转前n-m个数和后m个数,然后倒转整个数组。
#include
void reverse(int*a,int i,int j)
{
int tmp;
while(i < j)
{
tmp = a[j];
a[j] = a[i];
a[i] = tmp;
i++;
j--;
}
}
int main()
{
int a[2000],m,i,n;
char ch;
//输入部分,在第一行输入数组,第二行输入m
for(i=0;i<2000;i++)
{
scanf("%d%c",a[i],ch);
if(ch == '\n')
break;
}
scanf("%d",m);
n = i + 1; //此时,n保存数组中元素的个数
reverse(a,0,n-m-1);
reverse(a,n-m,n-1);
reverse(a,0,n-1);
for(i=0;iprintf("%d ",a[i]);
return 0;
} 比起下面的算法,我的算法时间复杂度为n,空间复杂度为1.空间上优于他。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯