本题要求实现一个对数组进行循环左移的简单函数:一个数组a中存有n(>0)个整数,在不允许使用另外数组的前提下,将每个整数循环向左移m(≥0)个位置,即将a中的数据由(a​0​​a​1​​⋯a​n−1​​)变换为(a​m​​⋯a​n−1​​a​0​​a​1​​⋯a​m−1​​)(最前面的m个数循环移至最后面的m个位置)。如果还需要考虑程序移动数据的次数尽量少,要如何设计移动的方法?

输入格式:

输入第1行给出正整数n(≤100)和整数m(≥0);第2行给出n个整数,其间以空格分隔。

输出格式:

在一行中输出循环左移m位以后的整数序列,之间用空格分隔,序列结尾不能有多余空格。

输入样例:

8 3
1 2 3 4 5 6 7 8

输出样例:

4 5 6 7 8 1 2 3


代码:
import java.util.Scanner;
public class Main {public static void main(String[] args) {Scanner sc = new Scanner(System.in);int n,m,t;int a[] = new int[100];n = sc.nextInt();m = sc.nextInt();for(int i=0;i<n;i++)a[i]= sc.nextInt();for(int i=1;i<=m;i++){t=a[0];for(int j=0;j<n-1;j++)a[j]=a[j+1];a[n-1]=t;}System.out.print(a[0]);for(int i=1;i<n;i++)System.out.printf(" %d",a[i]);}
}

转载于:https://www.cnblogs.com/8023spz/p/7635601.html

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

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

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

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

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

  3. 习题3.12 另类循环队列 (20 分)

    习题3.12 另类循环队列 (20 分) 如果用一个循环数组表示队列,并且只设队列头指针Front,不设尾指针Rear,而是另设Count记录队列中元素个数.请编写算法实现队列的入队和出队操作. 函数 ...

  4. 7-31 字符串循环左移 (20 分)

    7-31 字符串循环左移 (20 分) 输入一个字符串和一个非负整数N,要求将字符串循环左移N次. 输入格式: 输入在第1行中给出一个不超过100个字符长度的.以回车结束的非空字符串:第2行给出非负整 ...

  5. PTA-6-1 数组循环右移 (20分)(C语言)

    函数接口定义: int ArrayShift( int a[], int n, int m ); 其中a[]是用户传入的数组:n是数组的大小:m是右移的位数.函数ArrayShift须将循环右移后的数 ...

  6. 习题1.9 有序数组的插入 (20 分)

    习题1.9 有序数组的插入 (20 分) 本题要求将任一给定元素插入从大到小排好序的数组中合适的位置,以保持结果依然有序. 函数接口定义: bool Insert( List L, ElementTy ...

  7. 浙大版《数据结构(第2版)》题目集 习题1.9 有序数组的插入 (20 分) 二分解法

    习题1.9 有序数组的插入 (20 分) 本题要求将任一给定元素插入从大到小排好序的数组中合适的位置,以保持结果依然有序. 函数接口定义: bool Insert( List L, ElementTy ...

  8. 习题11-7 奇数值结点链表 (20 分) -链表

    习题11-7 奇数值结点链表 (20 分) 本题要求实现两个函数,分别将读入的数据存储为单链表.将链表中奇数值的结点重新组成一个新的链表.链表结点定义如下: struct ListNode {int ...

  9. 6-2 有序数组的插入 (20分)

    6-2 有序数组的插入 (20分) 本题要求将任一给定元素插入从大到小排好序的数组中合适的位置,以保持结果依然有序. 函数接口定义: bool Insert( List L, ElementType ...

最新文章

  1. 删除中间结点(直接用来当前节点操作)
  2. 为jQuery写插件
  3. c#获取系统时间的方法
  4. WCF发布到IIS的配置步骤
  5. arduino控制直流电机_Arduino的高电流直流电机控制板
  6. Discuz!NT CreditsOperationType
  7. iView UI常用组件DatePicker清空技巧
  8. c语言 屏幕亮度调节_4096级屏幕亮度调节:改善安卓机自动亮度调节顽疾
  9. Rust : ? 操作符(待续)
  10. C语言实现J1939长帧组包接口以及模拟DM1数据并生成CANalyst数据文件
  11. linux系统nohob安装,Linux启动详解1
  12. mac 右键 启动终端
  13. python中不等于用什么符号_python中表示不等于的符号是什么
  14. 如何将pdf分割成一页一页的
  15. linux 终端窗口最大化,如何设置终端打开最大化
  16. 小心肝队-冲刺日志(第三天)
  17. C++ string CString 详解
  18. Linux ping www.baidu.com 不通解决办法
  19. SpringBoot使用LUA解决Redis库存遗留问题
  20. C# wpf 使用ffplay实现视频播放器

热门文章

  1. python中while true的用法_解析Python中while true的使用
  2. android购物车栏,Android怎么实现二级列表购物车功能
  3. php验证码显示碎图片,我的验证码只显示破碎的小图片
  4. 安装报错_Mysqlclient安装报错的3种情况
  5. python编程 书籍_Python编程十大最佳书籍
  6. python变量_Python变量
  7. android生命周期_Android片段生命周期
  8. ios部分阴影_iOS UIMenuController UIMenuItem第2部分
  9. 通过命令行启动uwp应用
  10. C++是一款设计非常失败的语言吗?