4.19

public static int[][] adjacency() {
Map<String, Integer> stationIds = buildStationIdMap(); // 调用建立站点名称和对应的ID的哈希表的函数
Connection connection = JDBCUtils.getConn();
int[][] graph = null; // 邻接矩阵

try {
String sql = "SELECT Starting_Station, Terminus_Station FROM station ";

// 从数据库中检索起始站和终点站

Statement statement = connection.createStatement();
ResultSet resultSet = statement.executeQuery(sql);

int currentId = stationIds.size(); // 使用已有的ID数量作为初始ID

// 创建邻接矩阵
graph = new int[currentId][currentId];

// 填充邻接矩阵
while (resultSet.next()) {
String startingStation = resultSet.getString("Starting_Station");
String terminusStation = resultSet.getString("Terminus_Station");
int startingStationId = stationIds.get(startingStation);
int terminusStationId = stationIds.get(terminusStation);
graph[startingStationId][terminusStationId] = 1;
graph[terminusStationId][startingStationId] = 1;
}

} catch (SQLException e) {
e.printStackTrace();
// 在这里处理任何可能的异常...
} finally {
// 关闭资源
try {
if (connection != null) {
connection.close();
}
// 关闭 statement 和 resultSet
} catch (SQLException e) {
e.printStackTrace();
}
}

// 返回邻接矩阵
return graph;
}

posted @ 2024-06-13 16:03  kxzzow  阅读(10)  评论(0)    收藏  举报