List排序
来源:互联网 发布:wow.js 滚动时不现实 编辑:程序博客网 时间:2024/06/13 13:34
List三种排序
第一种
class Student : IComparable<Student>
{
private string name;
private int fenshu;
public Student(string name, int fenshu)
{
this.name = name;
this.fenshu = fenshu;
}
public string Name
{
get
{
return name;
}
set
{
name = value;
}
}
public int Fenshu
{
get
{
return fenshu;
}
set
{
fenshu = value;
}
}
public override string ToString()
{
return "Name:" + name + " Fenshu:" + fenshu;
}
public int CompareTo(Student other)
{
return other.Fenshu.CompareTo(Fenshu);
}
}
class Program
{
static void Main(string[] args)
{
List<Student> list = new List<Student>();
list.Add(new Student("张三", 88));
list.Add(new Student("李四", 77));
list.Add(new Student("王二", 98));
list.Add(new Student("小红", 96));
list.Add(new Student("小明", 66));
Console.WriteLine("排序前: ");
foreach (var a in list)
{
Console.WriteLine(a);
}
list.Sort();
//list.Sort(new CarComparer());
Console.WriteLine("排序后: ");
foreach (var a in list)
{
Console.WriteLine(a);
}
}
}
{
private string name;
private int fenshu;
public Student(string name, int fenshu)
{
this.name = name;
this.fenshu = fenshu;
}
public string Name
{
get
{
return name;
}
set
{
name = value;
}
}
public int Fenshu
{
get
{
return fenshu;
}
set
{
fenshu = value;
}
}
public override string ToString()
{
return "Name:" + name + " Fenshu:" + fenshu;
}
public int CompareTo(Student other)
{
return other.Fenshu.CompareTo(Fenshu);
}
}
class Program
{
static void Main(string[] args)
{
List<Student> list = new List<Student>();
list.Add(new Student("张三", 88));
list.Add(new Student("李四", 77));
list.Add(new Student("王二", 98));
list.Add(new Student("小红", 96));
list.Add(new Student("小明", 66));
Console.WriteLine("排序前: ");
foreach (var a in list)
{
Console.WriteLine(a);
}
list.Sort();
//list.Sort(new CarComparer());
Console.WriteLine("排序后: ");
foreach (var a in list)
{
Console.WriteLine(a);
}
}
}
第二种
class Car
{
private string name;
private int speed;
public Car(string name, int speed)
{
this.name = name;
this.speed = speed;
}
public string Name
{
get
{
return name;
}
set
{
name = value;
}
}
public int Speed
{
get
{
return speed;
}
set
{
speed = value;
}
}
public override string ToString()
{
return "Name:" + name + " Speed:" + speed;
}
}
class CarComparer : IComparer<Car>
{
public int Compare(Car x, Car y)
{
return x.Speed.CompareTo(y.Speed);
}
}
class Program
{
static void Main(string[] args)
{
List<Car> list = new List<Car>();
CarComparer b = new CarComparer();
list.Add(new Car("BMW320i", 111));
list.Add(new Car("BMW321i", 112));
list.Add(new Car("BMW520li", 100));
list.Add(new Car("BMW521li", 98));
list.Add(new Car("BMW525li", 130));
Console.WriteLine("排序前: ");
foreach (var a in list)
{
Console.WriteLine(a);
}
list.Sort(b);
//list.Sort(new CarComparer());
Console.WriteLine("排序后: ");
foreach (var a in list)
{
Console.WriteLine(a);
}
}
}
{
private string name;
private int speed;
public Car(string name, int speed)
{
this.name = name;
this.speed = speed;
}
public string Name
{
get
{
return name;
}
set
{
name = value;
}
}
public int Speed
{
get
{
return speed;
}
set
{
speed = value;
}
}
public override string ToString()
{
return "Name:" + name + " Speed:" + speed;
}
}
class CarComparer : IComparer<Car>
{
public int Compare(Car x, Car y)
{
return x.Speed.CompareTo(y.Speed);
}
}
class Program
{
static void Main(string[] args)
{
List<Car> list = new List<Car>();
CarComparer b = new CarComparer();
list.Add(new Car("BMW320i", 111));
list.Add(new Car("BMW321i", 112));
list.Add(new Car("BMW520li", 100));
list.Add(new Car("BMW521li", 98));
list.Add(new Car("BMW525li", 130));
Console.WriteLine("排序前: ");
foreach (var a in list)
{
Console.WriteLine(a);
}
list.Sort(b);
//list.Sort(new CarComparer());
Console.WriteLine("排序后: ");
foreach (var a in list)
{
Console.WriteLine(a);
}
}
}
第三种
public class Player
{
public string Name { get; set; }
public int Total { get; set; }
public Player(string name, int total)
{
Name = name;
Total = total;
}
}
class Program
{
static void Main(string[] args)
{
List<Player> lst = new List<Player>();
lst.Add(new Player("John", 100));
lst.Add(new Player("Smith", 120));
lst.Add(new Player("Cait", 97));
lst.Add(new Player("Irene", 100));
lst.Add(new Player("Ben", 100));
lst.Add(new Player("Deniel", 88));
//lst.Sort(delegate(Player x, Player y)
//{
// return y.Total.CompareTo(x.Total);
//});
//lst.Sort(delegate(Player x, Player y)
//{
// return -(x.Total.CompareTo(y.Total));
//});
lst.Sort((x,y) =>{
return x.Total.CompareTo(y.Total);
});
foreach (Player a in lst)
{
Console.WriteLine(a.Name+" "+a.Total);
}
}
}
{
public string Name { get; set; }
public int Total { get; set; }
public Player(string name, int total)
{
Name = name;
Total = total;
}
}
class Program
{
static void Main(string[] args)
{
List<Player> lst = new List<Player>();
lst.Add(new Player("John", 100));
lst.Add(new Player("Smith", 120));
lst.Add(new Player("Cait", 97));
lst.Add(new Player("Irene", 100));
lst.Add(new Player("Ben", 100));
lst.Add(new Player("Deniel", 88));
//lst.Sort(delegate(Player x, Player y)
//{
// return y.Total.CompareTo(x.Total);
//});
//lst.Sort(delegate(Player x, Player y)
//{
// return -(x.Total.CompareTo(y.Total));
//});
lst.Sort((x,y) =>{
return x.Total.CompareTo(y.Total);
});
foreach (Player a in lst)
{
Console.WriteLine(a.Name+" "+a.Total);
}
}
}
阅读全文
1 0
- List排序
- list 排序
- list排序...
- List排序
- List 排序
- List排序
- LIST排序
- list排序
- List 排序
- list排序
- LIST 排序
- List 排序
- List排序
- list排序
- List排序
- List 排序
- List排序
- List排序
- C语言函数可变参数处理简介
- centos详细命令(自己收藏)
- 学生选课系统数据库SQL语句考试题
- mysql数据库误删库/表的恢复实战
- golang设计模式之建造者模式
- List排序
- 【LeetCode解答二】Add Two Numbers问题Java解答
- java多线程:基础知识
- 常见C++面试题及基本知识点总结(一)
- 树莓派安装宝塔Linux面板教程
- hibernate配置C3P0连接池出现could not find org.hibernate.connection.C3P0Connecti问题
- 细谈Hibernate之悲观锁和乐观锁解决hibernate并发
- 初学Linux--进程间通信(共享内存、信号量)
- 170831 WarGames-Narnia(6)