今天才发现Arrays.sort 可以直接对二维数组进行排序,排序方法如下
int[][] graph = new int[m][3];
for (int i = 0; i < m; i++) {
s = br.readLine().split(" ");
int[] cur = new int[] {Integer.parseInt(s[0]), Integer.parseInt(s[1]), Integer.parseInt(s[2])};
graph[i] = cur;
}
Arrays.sort(graph, (a,b) -> (a[2] - b[2]));
// for (int[] c : graph) {
// System.out.println(Arrays.toString(c));
// }
给出一个图的表示方式graph, 每一行的第三个数是两个点之间的权重(weight),然后对权重进行排序。那么
Arrays.sort(graph, (a,b) -> (a[2] - b[2]));
就可以直接排序了。这种方法简单便捷,以前以为只能通过pq的方式来实现。现在有更多的选择了。
网友评论