当前位置: 首页 > news >正文

数组随机重排与维度转换算法

完整代码结构

package edu.seig;import java.util.Arrays;
import java.util.Random;public class test {public static void main(String[] args) {// 完整实现代码}
}

初始化一维数组

// 定义一个包含0-15的一维数组
int[] tempArr = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15};

随机打乱数组顺序

// 创建随机数生成器
Random r = new Random();// 遍历数组进行随机打乱
for (int i = 0; i < tempArr.length; i++) {// 获取随机索引int randomIndex = r.nextInt(tempArr.length);// 交换当前位置和随机位置的数据int temp = tempArr[randomIndex];tempArr[randomIndex] = tempArr[i];tempArr[i] = temp;
}

创建二维数组

// 创建4×4的二维数组
int[][] data = new int[4][4];

核心方法一:使用除法和取模运算填充二维数组

// 遍历一维数组,使用除法和取模运算填充二维数组
for (int i = 0; i < tempArr.length; i++) {data[i / 4][i % 4] = tempArr[i];
}

核心方法二:使用双重循环填充二维数组

// 使用双重循环填充二维数组
int index = 0;
for (int i = 0; i < data.length; i++) {for (int j = 0; j < data[i].length; j++) {data[i][j] = tempArr[index];index++;}
}

遍历打印二维数组

// 遍历并打印二维数组
for (int i = 0; i < data.length; i++) {for (int j = 0; j < data[i].length; j++) {System.out.print(data[i][j] + " ");}System.out.println();
}

主要功能

  • 将0-15的数字随机打乱
  • 将打乱后的数据填充到4×4的二维数组中
  • 提供两种不同的填充方法
  • 打印最终的二维数组结果

关键点说明

  • 随机打乱算法:使用Fisher-Yates洗牌算法,通过随机交换实现数组元素的随机排列
  • 维度转换方法:方法一使用数学运算(除法和取模),方法二使用双重循环遍历
  • 数组遍历:使用嵌套循环遍历二维数组,按行优先顺序打印数据

使用场景

  • 数字华容道游戏初始化
  • 随机数矩阵生成
  • 数据加密中的位置打乱
  • 教学演示数组操作

注意事项

  • 确保一维数组长度是二维数组行列数的乘积
  • 随机打乱时注意索引范围
  • 打印时注意格式化输出,保持对齐

相关文章:

  • 深入解析Python中的Vector2d类:从基础实现到特殊方法的应用
  • ngx_http_random_index_module 模块概述
  • LoadBarWorks:一款赛博风加载动画生成器的构建旅程
  • linux下的 xargs命令使用详解
  • 墨水屏显示模拟器程序解读
  • jqGrid冻结列错行问题,将冻结表格(悬浮表格)与 正常表格进行高度同步
  • HarmonyOS AVPlayer 音频播放器
  • MyBatis 核心技术详解:从连接池到多表查询
  • 聊天室项目总结
  • 主成分分析的应用之sklearn.decomposition模块的PCA函数
  • [Android] 青木扫描全能文档3.0,支持自动扫描功能
  • 从0开始学linux韦东山教程第四章问题小结(1)
  • 单片机设计_停车场车位管理系统(AT89C52、LCD1602)
  • NDRange(OpenCL)和 Grid/Block(CUDA)对比
  • oppo手机安装APK失败报错:安装包异常
  • ngx_http_referer_module 模块概述
  • HTTPS的工作过程
  • 2025/5/18
  • 卷积神经网络进阶:转置卷积与棋盘效应详解
  • esp32课设记录(二)lcd屏显示文字与照片
  • 视觉周刊|走进变革中的博物馆
  • 俄乌刚谈完美国便筹划与两国领导人通话,目的几何?
  • 一女游客在稻城亚丁景区因高反去世,急救两个多小时未能恢复生命体征
  • 陈刚:推动良好政治生态和美好自然生态共生共优相得益彰
  • 一箭六星,朱雀二号改进型遥二运载火箭发射成功
  • 外企聊营商|上海仲裁:化解跨国企业纠纷的“上海路径”