• 数组中元素位置移动实现


    题目:有 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]

  • 相关阅读:
    PHP实现4种排序算法
    PHP反射获取当前函数的内容
    PHP递归目录的5种方法
    生成随机数组
    empty、isset、is_null的比较
    PHP哈希表碰撞攻击
    XMLHttpRequest的跨域请求
    CI框架SESSION重写
    PHP开发第一个扩展
    PHP面试题集之基础题
  • 原文地址:https://www.cnblogs.com/doudou2018/p/9546705.html
Copyright © 2020-2023  润新知