长度为n的整数数组循环左移m位
右移m相当于左移n-m

// pat.cpp : Defines the entry point for the console application.
//#include "stdafx.h"#include <iostream>void MoveLeft(int a[],int n,int m);int _tmain(int argc, _TCHAR* argv[])
{int old[9]={1,2,3,4,5,6,7,8,9};int *p;int out[9];MoveLeft(old,9,6);for(int i=0;i<9;i++){printf("%d\n",old[i]);}int a;std::cin>>a;return 0;
}void MoveLeft(int a[],int n,int m)
{int temp = a[0];for(int i=0;i<n-1;i++){a[i]=a[i+1];}a[n-1]=temp;m--;if(m>0) MoveLeft(a,n,m);else return;}

更美:
算法解释:
前(n-m)位数字直接向右移动m; i—-i+m
后m位数字 ;j—-j-(n-m)
一次reverse 把i—n-m-1-i
二次reverse 把j—2n-m-1-j
最后reverse得到结果

#include <stdio.h>
int a[100];
void reverse(int *a, int m, int n){  for (int i = m; i <= (m + n) / 2; i++){  int tmp = a[i];  a[i] = a[m + n - i];  a[m + n - i] = tmp;  }
}  int main(){  int n, m;  scanf("%d%d", &n, &m);  m %= n;  for (int i = 0; i < n; i++)  scanf("%d", &a[i]);  reverse(a, 0, n-m-1);  reverse(a, n-m, n-1);  reverse(a, 0, n-1);  for (int i = 0; i < n; i++)  printf("%d%s", a[i], (i-n+1?" ":"\n"));  return 0;
}  

长度为n的整数数组循环左移右移m位相关推荐

  1. c语言 数组循环左移m位

    #include<stdio.h> //函数原型 void rightshiftleft(int *p_num,int n,int m); void enterint(int *p_num ...

  2. 算法 - 数组循环左移m个元素

    题目 整数数组,n个元素 数组循环左移m个元素 [1,2,3,4,5,6,7,8,9] -> [4,5,6,7,8,9,1,2,3] 思路 数组整体逆转 [1,2,3,4,5,6,7,8,9] ...

  3. 一维数组反转c语言_C语言实现数组的循环左移,右移,翻转的示例

    数组结合指针可以实现很多有趣的功能,比如下面这个程序: 假设数组为 : 12345 如果左移一次即为:23451 ,依次类推 如果右移一次即为:51234 ,依次类推 翻转则为:54321 我们来实现 ...

  4. 给你一个长度为 n 的整数数组 nums 和 一个目标值 target。请你从 nums 中选出三个整数,使它们的和与 target 最接近。 /返回这三个数的和。

    // 给你一个长度为 n 的整数数组 nums 和 一个目标值 target.请你从 nums 中选出三个整数,使它们的和与 target 最接近. // 返回这三个数的和. // 假定每组输入只存在 ...

  5. 7-2 数组循环左移(20分)(顺序表实现)

    题目描述: 本题要求实现一个对数组进行循环左移的简单函数:一个数组a中存有n(>0)个整数,在不允许使用另外数组的前提下,将每个整数循环向左移m(≥0)个位置,即将a中的数据由(a0 a1 - ...

  6. 浙江大学PTA 数据结构 习题2.2 数组循环左移 (20 分)

    本题要求实现一个对数组进行循环左移的简单函数:一个数组a中存有n(>0)个整数,在不允许使用另外数组的前提下,将每个整数循环向左移m(≥0)个位置,即将a中的数据由(a​0​​a​1​​⋯a​n ...

  7. 习题2.2 数组循环左移(20 分)浙大版《数据结构(第2版)》题目集

    本题要求实现一个对数组进行循环左移的简单函数:一个数组a中存有n(>0)个整数,在不允许使用另外数组的前提下,将每个整数循环向左移m(≥0)个位置,即将a中的数据由(a​0​​a​1​​⋯a​n ...

  8. 【算法】将数组循环左移

    问题描述 设将n(n>1)个整数存放到一维数组 arr 中.将 arr 中保存的序列循环左移p (0<p<n)个位置,即将 arr 中的数据由(X0,X1,-, Xn-1)变换为(X ...

  9. 数组循环左移 C++

    目录 题目描述 思路分析 AC代码 题目描述 本题要求实现一个对数组进行循环左移的简单函数:一个数组a中存有n(>0)个整数,在不允许使用另外数组的前提下,将每个整数循环向左移m(≥0)个位置, ...

最新文章

  1. html 复选框 mysql_Html:实现带复选框的下拉框(一)
  2. 公共基因表达数据分析系统genevestigator,再也不愁表达数据的查询和比较了
  3. WPF中StringFormat的用法
  4. #一周五# VS2015 CTP6, TFS2015 CTP1更新,老衣的开发工具汇总,2015 MVP 社区巡讲
  5. 【计算理论】图灵机 ( 多个带子的图灵机 | 计算能力对比 | 证明过程 | 一个带子图灵机 )
  6. MATLAB 数组运算
  7. 必须采用初始化列表一共有三种情况
  8. C++ 知识记录-LZL
  9. Codeforces Round #701 (Div. 2) D. Multiples and Power Differences 思维构造
  10. 在MySQL中当有多个索引时 你知道MySQL是如何选择索引的吗 ???
  11. 同行压力(兼谈敏捷团队,绩效管理,自组织团队)
  12. Spring知识点总结-3
  13. python+adb实现物理按键长按(比如长按关机)
  14. 最强白嫖指南---推荐11个珍藏多年的网站!
  15. 利用hive完成阿里天池大数据音乐预测比赛数据处理工作
  16. microapp微前端基础使用
  17. 拳头的国人动画师,是这样让《英雄联盟》里的角色变成“戏精”的
  18. 敏捷开发:一文了解影响地图和用户故事地图之间的那些事儿
  19. 软件测试常见笔试题(附带答案)—初级篇01
  20. 为什么www.52pjb.net总是不收录,最多只收录首页?

热门文章

  1. 极度缺人:500-800元/天,大学生优先,时间自由可日结!!
  2. 拯救你的面试:前端面试大全--js面试题(超长文章)
  3. 网络基础学习系列三http
  4. openocd目录_openocd环境搭建
  5. 微服务拆分解决的问题
  6. 2023 QQ微信防红浏览器跳转源码
  7. 通过weight权重控制字体的笔画粗细
  8. B站 Java相关学习资源汇总
  9. 如何给女朋友解释为什么Java不支持多继承?
  10. Bresenham算法步骤