java - Java如何打印已排序二维数组的原始索引?
问题描述
假设我有一个 5X1 二维数组 [2,3,1,4,5],所以索引将是 [[0,0],[1,0],[2,0],[3,0],[ 4,0]] 仍然,但是如何让原始索引保持在值中?所以我可以在对值进行排序后打印出索引(如果有意义的话),例如
排序后的值将是 [1,2,3,4,5],但索引将是 [2,0][0,0][1,0][3,0][4,0]你操纵它吗?在此先感谢,我们将不胜感激!
{
int[][] array = new int[5][1];
array = {{2,3,1,4,5}};
//at this point the array index will be [[0,0],[1,0],[2,0],[3,0],[4,0]]
Arrays.sort(array);
//i want the index to stay within the value after sorting...
}
解决方案
奇怪的问题。我将完全重构代码以使用我自己的自定义对象,该对象不仅包含值,还包含原始位置。
另一种方法是编写自己的排序,但在排序时,保留第二个数组,其中包含原始位置,以及对第一个数组所做的一切,你镜像到第二个数组。
第三种方法:如果保证数组的值是唯一的,则可以先复制数组。调用一个 origArray 和一个 sortedArray。然后,当查看 sortedArray 中的一个项目时,在 origArray 中找到它,这会告诉你它曾经在哪里。但这取决于值是唯一的,这是一个糟糕的假设。
推荐阅读
- omnet++ - 使用 Omnet++ 建模干扰器
- jquery - 如何在 index.ts 中导入 Jquery 并使用 webpack 打包
- linux - crontab 什么时候执行?
- php - 访问数组元素中的数组
- php - 为什么使用 PHP Curl 发布 JSON 不起作用?
- r - 哪一组满足条件 a < b < c 取决于条件
- c++ - 沿二次贝塞尔曲线移动点的快速方法
- javascript - 用 JS 随机改变视频 - javascript
- kubernetes - 仅将 OAuth 规则应用于 Ingress Controller 中的一个应用程序
- html - HTML 编辑未显示