一个学生对象集合list<student> lst,怎样不创建另外一个对象而是通过本对象实现lst的按学生成绩排序?
一个学生对象集合list<student> lst,怎样不创建另外一个对象而是通过本对象实现lst的按学生成绩排序?
每次要排序都得重新创建一个对象,让lst排序后赋值个这个对象,烦死了!
创建一个对象的方法:List<student> a =lst.OrderByDescneding(n=>double.Parse(n.Grade)).ToList();
不创建另外一个对象怎么实现按成绩排序?
[解决办法]
随便一本讲数据结构的书上面都至少有4种排序算法。
或者你用List的Sort方法来排
[解决办法]
那你就看网上的快速排序算法,自己套进去就是了,就内部交换位置
或者
lst =lst.OrderByDescneding(n=>double.Parse(n.Grade)).ToList();
[解决办法]
lst.Sort((n1, n2) => n2.Grade - n1.Grade)
[解决办法]
lst.Sort((n1, n2) =>{ double err = double.Parse(n1.Grade) - double.Parse(n2.Grade); if (err > 0) return -1; else if (err < 0) return 1; else return 0;});
[解决办法]