zoukankan      html  css  js  c++  java
  • 数组中元素位置移动实现

    题目:有 n 个整数,使其前面各数顺序向后移 m 个位置,最后 m 个数变成最前面的 m 个数

    分析:实现移动其实就是对索引进行操作,数组元素没有改变,而索引值发生了改变,

    合理运用%运算,原数组索引%len=原数组的索引——>(原数组索引+移动位数)%len=新数组索引

        public static void function01() {
            int[] array={2,3,4,6,7,9};
            //复制一个数组,用于数据的存放
            int [] arraycopy=Arrays.copyOf(array, array.length);
            System.out.println("原数组:");
            System.out.println(Arrays.toString(array));
            System.out.println("请输入要移动的位数:");
            Scanner sc=new Scanner(System.in);
            
            int moveNum=sc.nextInt();//移动的位数
            
            for (int i = 0; i < arraycopy.length; i++) {
                int move=(i+moveNum)%array.length;
                arraycopy[move]=array[i];
            }
            System.out.println(Arrays.toString(arraycopy));
            
            
        }

    原数组:
    [2, 3, 4, 6, 7, 9]
    请输入要移动的位数:
    3
    [6, 7, 9, 2, 3, 4]

  • 相关阅读:
    iOS自动化编译
    PlistBuddy
    用PlistBuddy修改Plist文件
    ios app 开发中ipa重新签名步骤介绍
    iOS 开发 Framework
    线程同步--线程间通信
    Linux 下 Redis 安装详解
    服务器响应头隐藏X-power-by
    git 初始化
    删除文件夹里的 .svn,
  • 原文地址:https://www.cnblogs.com/doudou2018/p/9546705.html
Copyright © 2011-2022 走看看