30/09/2018, 17:01

[Animation C#] Mô phỏng thuật toán sắp xếp

Chào mọi người,
Em cần làm một chương trình mô phỏng các thuật toán sắp sếp, nhưng đến phần swap 2 phần tử thì gặp lỗi, em gặp lỗi trong việc set vị trí phần tử mỗi lần update. Ai có kinh nghiệm về vấn đề này có thể cho em ý tưởng được không ạ. Đối tượng mà e sử dụng để hoán đổi là hình tròn chứa giá trị được vẽ bằng GDI+ của C#.
Em cảm ơn

Nguyễn Minh Dũng viết 19:07 ngày 30/09/2018

Câu hỏi này chung chung và thiếu giải pháp của OP. @nguyenhoangvi000 có thể nói rõ hơn cái muốn làm. Và đưa ra giải pháp của mình được không?

Phạm Hoàng Tuấn viết 19:15 ngày 30/09/2018

Bạn thử up code lên trên này xem sao bạn

nguyenhoangvi000 viết 19:05 ngày 30/09/2018

Dạ đây là project ủa em ạ…
Em đã swap được 2 phần tử nhưng giờ có một vấn đề mới đó là nếu như e swap 2 phần tử trong luồng process thì luồng giao diện nó không được đồng bộ. Anh xem project giúp em rồi cho em ý kiến với ạ, em cảm ơn.
https://onedrive.live.com/redir?resid=D8B638135A0D7627!5440

nguyenhoangvi000 viết 19:04 ngày 30/09/2018

Dạ đây là project ủa em ạ…Em đã swap được 2 phần tử nhưng giờ có một vấn đề mới đó là nếu như e swap 2 phần tử trong luồng process thì luồng giao diện nó không được đồng bộ. Anh xem project giúp em rồi cho em ý kiến với ạ,
Em cảm ơn.
https://onedrive.live.com/redir?resid=D8B638135A0D7627!5440

nguyenhoangvi000 viết 19:05 ngày 30/09/2018

Em đang làm project mô phỏng thuật toán sắp xếp trên C#, sử dụng thư viện đồ họa GDI+. Ý tưởng của em là có 2 luồng chạy. Luồng process sẽ sinh ra ngẫu nhiên một mảng và thực hiện thuật toán sắp xếp trong đó. Luồng giao diện sẽ thực hiện các thao tác tráo đổi các ball vẽ bằng graphic trên màn hình. Lúc em đặt câu hỏi trên diễn đàn thì em bị vướng phần set tọa độ cho các hình vẽ chứa con số trên màn hình. Nhưng em set lại được rồi.
Nhưng giờ nó sinh ra một vấn đề mới là khi sắp xếp các phần tử trong mảng thì em làm được, nhưng khi swap các đối tượng trên graphic thì có vấn đề về truy xuất các phần tử. Vì các đối tượng em bỏ vào trong một List các Circle và mỗi đối tượng có hàm transform của nó nhưng ví dụ như phần tử thứ 3 tráo đổi với phần tử thứ 2 thì nó vẫn là phần tử thứ 3 trong list, mặc dù trên giao diện thì nó có đổi chỗ.
Hi vọng mọi người cho em ý tưởng với ạ, em cảm ơn.

Phạm Hoàng Tuấn viết 19:17 ngày 30/09/2018

Bạn nên chỉ rõ hàm nào bị ? Bị chỗ nào? chứ bạn nói vậy nhìn vào cái project rất khó để xem !

nguyenhoangvi000 viết 19:15 ngày 30/09/2018

Trong class Program e có viết thêm class mygame kế thừa lại DLL Game mà e viết sẵn, trong đó e đã tạo được một list các Circle. Em tính trong class đó sẽ viết demo thuật toán interchange sort. Nhưng khi viết em gặp một vấn đề là khi swap 2 phần tử trong mảng thì ok nhưng khi index của 2 phần tử trong mảng thay đổi nhưng 2 Circle trong List thay đổi nó lại không như ý muốn.
Anh có thể giúp e ý tưởng khi đổi chỗ các phần tử trong mảng, các Circle vẫn thay đổi đúng như các phần tử trong mảng thay đổi không ạ?

Bài liên quan
0