xmlns:og="http://opengraphprotocol.org/schema/" >Cập nhật Code chu trình Euler



 
nghỉ 7-10-2012 và 8-10-2012

Share | 
 

 Cập nhật Code chu trình Euler

Xem chủ đề cũ hơn Xem chủ đề mới hơn Go down 
Tác giảThông điệp
NguoiXua
Bá Tước
Bá Tước
avatar

Nam
Tổng số bài gửi : 68
Points : 25219
Join date : 05/03/2011

Bài gửiTiêu đề: Cập nhật Code chu trình Euler   Thu Jun 16, 2011 10:23 pm

Code chu trình Euler lần trước khá dài. Nếu bạn nào thích ngắn hơn, hãy sửa lại như sau:


Code:

      //Phuong thuc tim canh dau tien chua dinh trong danh sach canh
   private static Canh CanhDauTien(Vector<Canh> dsCanh, char  dinh)
   {
      for(Canh ca : dsCanh)
      {
         if(dinhThuocCanh(dinh, ca)) return ca;
      }
      return null;
   }

private static Vector<Canh> euler(DoThi dt, char dinhBatDau)
   {      
      DoThi dt1 = new DoThi(dt);
      Vector<Canh> dsCanhCT = new Vector<Canh>(0,1);
      Vector<Canh> dsCanhEuler = new Vector<Canh>();
      
      char dinhGoc = dinhBatDau;
      char dinh = dinhBatDau;
      
      do
      {
         for(Canh ca : dt1.getDsCanh())
         {
            if(dinhThuocCanh(dinh, ca))
            {
               dinh = ca.getDinhDau() == dinh ? ca.getDinhCuoi() : ca.getDinhDau();
               dsCanhCT.add(ca);
               dt1.xoaCanh(ca);         
               break;
            }
         }
         
         if(dinh == dinhBatDau)
         {
            xoaDinhCoLap(dt1);
            if(dsCanhEuler.isEmpty() || dinhBatDau == dinhGoc )
            {
               dsCanhEuler.addAll(dsCanhCT);
            }
            else
            {                  
               Canh ca = CanhDauTien(dsCanhEuler, dinhBatDau);                              
               if(ca != null )
               {
                  int vt = dsCanhEuler.indexOf(ca);                     
                  dsCanhEuler.addAll(++vt, dsCanhCT);
               }
            }
            dsCanhCT.clear();
            char dinhCh = dinhChung(dt, dt1);
            dinhBatDau = dinhCh;
            dinh = dinhBatDau;                                       
         }                              
      }while(!dt1.getDsCanh().isEmpty());

      return dsCanhEuler;
   }
Về Đầu Trang Go down
Xem lý lịch thành viên
votuanthanh
Administrator
Administrator
avatar

Nam
Tổng số bài gửi : 251
Points : 26646
Join date : 13/01/2011
Age : 28
Đến từ : TP HCM

Bài gửiTiêu đề: Re: Cập nhật Code chu trình Euler   Thu Jun 16, 2011 11:28 pm

sao ko sửa lại bài cũ đấy anh hùng


LIKE NẾU BẠN THÍCH À VÁ TÀ CỦA TỚ
Về Đầu Trang Go down
Xem lý lịch thành viên http://dhth4btlt.forumvi.net
 

Cập nhật Code chu trình Euler

Xem chủ đề cũ hơn Xem chủ đề mới hơn Về Đầu Trang 
Trang 1 trong tổng số 1 trang

Permissions in this forum:Bạn không có quyền trả lời bài viết
 :: Các Môn Hoàn Tất :: Cấu Trúc Rời Rạc-
Free forum | © phpBB | Free forum support | Liên hệ | Report an abuse | www.sosblogs.com