结对作业4
开始尝试结对作业的基础逻辑,先将地铁线路根据换乘点转化成无向图,准备运用迪杰斯特拉算法完成最小换乘。
int i=0; Connection connection = util.getConnection(); PreparedStatement preparedStatement=null; ResultSet rs=null; try { String sql ="WITH RECURSIVE transfer (start_station, stop_station, stops, path) AS (\n" + " SELECT station_name, next_station, 1, CAST(CONCAT(line_name,station_name , '->', line_name,next_station) AS CHAR(1000))\n" + " FROM bj_subway WHERE station_name = ?\n" + " UNION ALL\n" + " SELECT p.start_station, e.next_station, stops + 1, CONCAT(p.path, '->', e.line_name, e.next_station)\n" + " FROM transfer p\n" + " JOIN bj_subway e\n" + " ON p.stop_station = e.station_name AND (INSTR(p.path, e.next_station) = 0)\n" + ")\n" + "SELECT * FROM transfer WHERE stop_station = ?;\n"; preparedStatement = connection.prepareStatement(sql); preparedStatement.setString(1,station1); preparedStatement.setString(2,station2); rs = preparedStatement.executeQuery(); while(rs.next()) { i++; if (station1.equals(rs.getObject(1))&&station2.equals((rs.getObject(2)))){

浙公网安备 33010602011771号