예제 #1
0
        public void swap(Canh a, Canh b)
        {
            Canh temp = new Canh(a.getX(), a.getY());

            a.setX(b.getX());
            a.sety(b.getY());
            a.setTenCanh(b.getTenCanh());

            b.setX(temp.getX());
            b.sety(temp.getY());
            b.setTenCanh(temp.getTenCanh());
        }
예제 #2
0
 public bool ktraTaoChuTrinhThieu(Canh canh)
 {//canh ko tao thanh tam giac voi 2 canh bat kì
     for (int i = 0; i < dsChonDuong.Count; i++)
     {
         for (int j = 0; j < dsChonDuong.Count; j++)
         {
             if (i != j) //2 cạnh bất kì trong những cạnh đã chọn
             {
                 if (ktraDoanChuTrinhThieu(canh, dsChonDuong[i], dsChonDuong[j]) == true)
                 {
                     MessageBox.Show("Cạnh " + canh.getTenCanh() + " có tạo thành chu trình thiếu !");
                     return(true);// co tao chu trinh thieu
                 }
             }
         }
     }
     return(false);
 }
예제 #3
0
        public bool kTraTaoDinhCap3(Canh canh)
        {
            int demXuatHienX = 0;
            int demXuatHienY = 0;

            for (int i = 0; i < dsChonDuong.Count; i++)
            {
                if (dsChonDuong[i].getX() == canh.getX() || dsChonDuong[i].getY() == canh.getX())
                {
                    demXuatHienX++;
                }
                if (dsChonDuong[i].getX() == canh.getY() || dsChonDuong[i].getY() == canh.getY())
                {
                    demXuatHienY++;
                }
            }
            if (demXuatHienX == 2 || demXuatHienY == 2)
            {
                MessageBox.Show("Cạnh " + canh.getTenCanh() + " có tạo thành 1 đỉnh cấp 3 !");
                return(true);
            }
            return(false);
        }