public void floyd() { Initbgcoll.Clear(); StepColl.Clear(); int i, j, k; //khoi dong ma tran D va P for (i = 0; i < SoNut; i++) { for (j = 0; j < SoNut; j++) { D[i, j] = weight[i, j]; P[i, j] = -1; //Khởi tạo BangGhi if (weight[i, j] > 0 && weight[i, j] < VOCUNG) { BangGhiFloyd bgFloyd = new BangGhiFloyd(); bgFloyd.Dau = diemColl.Index(i).Ten; bgFloyd.TrungGian = "-1"; bgFloyd.Cuoi = diemColl.Index(j).Ten; bgFloyd.ChieuDai = D[i, j]; Initbgcoll.Add(bgFloyd); } } } // BangGhi.Add(Initbgcoll); // Tinh ma tran D va P o buoc lap thu k for (k = 0; k < SoNut; k++) { for (i = 0; i < SoNut; i++) { if ((D[i, k] > 0) && (D[i, k] < VOCUNG)) for (j = 0; j < SoNut; j++) { if ((D[k, j] > 0) && (D[k, j] < VOCUNG)) { if ((D[i, j] != 0) && (D[i, k] + D[k, j] < D[i, j])) { D[i, j] = D[i, k] + D[k, j]; P[i, j] = k; //Thêm vào 1 dòng BangGhiFloyd bgFloyd1 = new BangGhiFloyd(); bgFloyd1.Dau = diemColl.Index(i).Ten; bgFloyd1.TrungGian = diemColl.Index(k).Ten; bgFloyd1.Cuoi = diemColl.Index(j).Ten; bgFloyd1.ChieuDai = D[i, j]; StepColl.Add(bgFloyd1); // BangGhi.Add(Initbgcoll); } } } } } }
public void Add(BangGhiFloyd bangghi) { List.Add(bangghi); }