数组中元素的移动

本文探讨了在数组中移动元素的各种方法,包括直接赋值、使用指针和内存操作等,重点介绍了如何在保证效率的同时正确地进行元素迁移。通过实例分析,展示了不同方法在时间和空间复杂度上的差异,并提供了最佳实践建议。
摘要由CSDN通过智能技术生成
package com.java.day04;

import java.util.Scanner;
/**
 * 
 * @author Alfred
 * @data 2018年7月23日下午9:01:49
 * Description:有n个整数,使其前面各数顺序向后移m个位置,最后m个数变成最前面的m个数
 * Version:
 */
public class Demo04 {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);

		int[] arr = { 27, 75, 53, 12, 8, 31, 23 };
		System.out.println("原来的数组:");
		for (int i = 0; i < arr.length; i++) {
			System.out.print(arr[i] + " ");
		}
		System.out.println();

		System.out.println("请输入要移动的位数:");
		int m = sc.nextInt();
		// 保存最后m个数
		int[] backUp = new int[m];
		for (int i = 0; i < m; i++) {
			backUp[i] = arr[arr.length - m + i];
		}
		/*
		 * for (int i = 0; i < backUp.length; i++) { System.out.print(backUp[i] + " ");
		 * }
		 */

		// 移动位置
		for (int i = arr.length - 1; i >=
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值