chúng tôi có mộtC# nhanh sắp xếp hơn SortedList <>
SortedList<Resource, Resource> resources =
new SortedList<Resource, Resource>(new ResourceIdle());
mà chúng tôi sử dụng trong mô phỏng của chúng tôi. Danh sách tài nguyên này được khởi tạo theo cách này bởi vì chúng tôi muốn chuyển các trình so sánh khác nhau vào bất kỳ thời điểm nào. Vấn đề đầu tiên chúng tôi có là các SortedList<>
đòi hỏi một so sánh thêm trong so sánh để chúng tôi có thể thêm các trường hợp khác nhau của Resource
với các thuộc tính tương tự. Ví dụ: nếu Trình so sánh trông giống như:
public int Compare(Resource x, Resource y)
{
int priority1 = x.Priority;
int priority2 = y.Priority;
if (priority1 > priority2) {
return -1;
} else if (priority1 < priority2) {
return 1;
} else {
return (x.Id.CompareTo(y.Id));
}
}
thì chúng tôi phải so sánh thêm khi các ưu tiên giống nhau nếu không chúng tôi lấy lại ngoại lệ cho mục nhập có cùng khóa. Vì vậy, câu hỏi của tôi là, có cách nào khác để đạt được điều này? Và như một câu hỏi thứ cấp là có bất cứ điều gì nhanh hơn so với SortedList<>
cho đặt hàng số lượng lớn các đối tượng?
bao nhiêu ưu tiên khác nhau nào? –
Số lượng ưu tiên được người dùng xác định. Có thể có 3 hoặc có thể 10. Nó thực sự phụ thuộc vào mô hình. – Dimitris