永发信息网

编写程序 将数组的前n个元素中 前端的m个元素和随后的n-m个元素互换 n和m从键盘输入并要求程序

答案:2  悬赏:40  手机版
解决时间 2021-11-13 09:11
  • 提问者网友:刺鸟
  • 2021-11-13 03:09
编写程序 将数组的前n个元素中 前端的m个元素和随后的n-m个元素互换 n和m从键盘输入并要求程序
最佳答案
  • 五星知识达人网友:洎扰庸人
  • 2021-11-13 04:40
这是典型的rotate问题,有技巧:在数组不同的部分做三次翻转即可。
JavaScript实现:
function reverse(arr, start, end){
var i=start, j = end;
while(i < j){
var t = arr[i];
arr[i] = arr[j];
arr[j] = t;
i++;
j--;
}
}
//主函数
function rotate(arr, n, m){
reverse(arr,0,m-1);
reverse(arr,m,n-1);
reverse(arr,0,n-1);
}

//测试
var arr = [1,2,3,4,5,6,7,8,9,0];
rotate(arr, 7, 2);//此时arr为[3,4,5,6,7,1,2,8,9,0]
全部回答
  • 1楼网友:千夜
  • 2021-11-13 05:05
for(i=0;i{
t=a[0];
for(j=0;j a[n-1]=t;
}
中间过程就是这样了,输入输出自己写,应该很好懂。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯