做公交和地铁换乘  使用邻接矩阵,用弗洛伊德算法得出2点最短路径,矩阵的形式如下 
 public int[,] busline = {
                        {32,14,15,20,19,18,17,30,31,-1,-1,-1,-1,-1,-1,-1,-1},
                        {33,34,35,36,38,39,37,40,41,42,28,43,44,15,45,-1,-1},
                        {15,12,11,10,46,47,48,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1},
                        {50,51,49,37,40,41,42,27,10,11,45,-1,-1,-1,-1,-1,-1},
                        {1,2,6,3,4,5,0,7,8,9,10,11,12,13,14,15,16},
                        {17,18,19,20,15,14,13,12,21,22,23,-1,-1,-1,-1,-1,-1},
                        {6,24,25,26,0,7,8,9,10,27,28,29,19,18,17,30,31}
                      };//存储公交路线.
上面每个点是一个站点ID,每一行是一条公交线路当然上面的数据只是例子,实例中是从数据库读取生成。如果只是求单纯的换乘那是没问题的,因为只要两线路中有共同站点,就说明这两条线路是连通的,但假设那两条线没共同站点,但有两站点靠的很近,那么就算步行过到那个站。如果是这样的话,用佛洛依德算法好想不好用了,找不到连通点。现在地铁的已经OK了,就是需要联合查询,请高手给个方法