c#利用委托实现给任何类型对象进行冒泡、快速、选择和插入排序算法
2009-04-11 08:25:10 来源:WEB开发网 public class Program
{
public static void Main()
{
Car[] carArr ={
new Car("Benz",210000), new Car("BMW",150000), new Car("VW",130000),
new Car("Ford",140000), new Car("Kia",58000), new Car("QQ",30000),
new Car("Fiat",200000), new Car("Toyota",170000), new Car("Mazda",140000),
};
CompareOperation sortOp = new CompareOperation(Car.OrderByCarPrice); //按照价格排序
//CompareOperation sortOp = new CompareOperation(Car.OrderByCarName); //按照名称排序
//BubbleSorter.Sort(carArr, sortOp); //冒泡排序
QuickSort.Sort(carArr, sortOp); //快速排序
//SelectionSort.Sort(carArr, sortOp);//选择排序
//InsertSort.Sort(carArr, sortOp);//插入排序
for (int i = 0; i < carArr.Length; i++)
{
Console.WriteLine(carArr[i].ToString());
}
Console.Read();
}
}
}
小结:在实际的项目中,我们基本不用按照上面的方式写排序代码,c#为我们定义了几个泛型排序接口(IComparable,IComparer等),重新实现接口中的方法,利用泛型的集合类的Sort方法就可以了。
更多精彩
赞助商链接