NguoiXua Bá Tước
Tổng số bài gửi : 68 Points : 48999 Join date : 05/03/2011
| Tiê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; }
|
|
votuanthanh Administrator
Tổng số bài gửi : 251 Points : 50426 Join date : 13/01/2011 Age : 34 Đến từ : TP HCM
| Tiê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 |
|