- Vấn đề bạn hỏi thuộc về căn bản. Bạn xem lại giáo trình Giải Thuật đi
- Đừng quá lợi dụng các hàm có sẳng trong Visual
mình có 1 cái list thế này
int ID
string LastName
string Fisrtname
int avg
bây h mình muốn đưa ra 1 danh sách sắp xếp theo điểm
nếu điểm bằng nhau thì sắp xếp theo tên
theo 2 trường mình k biế làm thế nào cả
thank bạn
Sửa/Xóa bài viết
- Vấn đề bạn hỏi thuộc về căn bản. Bạn xem lại giáo trình Giải Thuật đi
- Đừng quá lợi dụng các hàm có sẳng trong Visual
PHÁT TRIỂN PHẦN MỀM HỖ TRỢ CÔNG VIỆC
ỨNG DỤNG QUẢN LÝ CHO DOANH NGHIỆP VỪA VÀ NHỎ
(0969.867.490 - ltnghia.wins@gmail.com)
vấn đề là mình lấy cơ sở dữ liệu từ file text chứ k phải từ SQL
nên toàn bộ phần sort phải làm trên list chứ k phải trên sql rồi mới cho vào list
mong chỉ giáo
- Bạn lưu trữ hay lấy dữ liệu từ đâu là tùy bạn, việc đó không liên quan đến vấn đề sắp xếp
- Mình kêu bạn xem lại giáo trình Giải Thuật
- Mình gợi ý rồi bạn phải tự tìm hiểu và suy luận
PHÁT TRIỂN PHẦN MỀM HỖ TRỢ CÔNG VIỆC
ỨNG DỤNG QUẢN LÝ CHO DOANH NGHIỆP VỪA VÀ NHỎ
(0969.867.490 - ltnghia.wins@gmail.com)
coi như mình ngu dốt
bạn k cần comment nữa
có ai khác giúp đc kẻ ngu dốt này k nhỉ
cám ơn đã góp ý
nhưng m đã tự tìm hiểu và làm đc rồi
giải quyết như sau :
Code:pm.listPupilmark.Sort( (x,y)=> { var ret = y.Avg.CompareTo(x.Avg); if (ret == 0) ret = x.Lastname.CompareTo(y.Lastname); return Convert.ToInt32(ret) ; }); pm.ListPpM.ForEach(p => Console.WriteLine(p.Pid + "." + p.FirstName + " " + p.Lastname + "\t\t\t\t\t" + p.Avg));
Bạn có thể tự mình viết hàm sắp xếp. Tuy nhiên, nếu bạn sử dụng List<T> thì có thể sử dụng hàm Sort có sẵn. Mình có ví dụ thế này:
Lớp SinhVien:
Sử dụng hàm Sort của List<T>Code:public class SinhVien { public SinhVien(string ho, string ten) { _Ho = ho; _Ten = ten; } private string _Ho; public string Ho { get { return _Ho; } set { _Ho = value; } } private string _Ten; public string Ten { get { return _Ten; } set { _Ten = value; } } }
Code:public class Run { public static void Main() { List<SinhVien> list = new List<SinhVien>(); list.Add(new SinhVien("Tran", "Vinh")); list.Add(new SinhVien("Nguyen", "Vinh")); list.Add(new SinhVien("Le", "Vinh")); list.Add(new SinhVien("Tran", "Binh")); list.Add(new SinhVien("Mai", "Binh")); list.Add(new SinhVien("Hoang", "Binh")); Console.WriteLine("Danh sach chua sap xep"); foreach (SinhVien s in list) { Console.WriteLine("{0} {1}", s.Ho, s.Ten); } Console.WriteLine("Danh sach da sap xep"); list.Sort(delegate(SinhVien s1, SinhVien s2) { int returnValue = s1.Ten.CompareTo(s2.Ten); if (returnValue == 0) { returnValue = s1.Ho.CompareTo(s2.Ho); } return returnValue; }); foreach (SinhVien s in list) { Console.WriteLine("{0} {1}", s.Ho, s.Ten); } } }
cám ơn mọi người
mìnhđã làm đc rồi