首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

C# 冒泡、快速、選擇、插入排序算法專案應用 (2) — 策略模式與實務建議

     編輯:關於C語言

應用範例:汽車陣列依價格/名稱排序


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)
        };

        // 策略:依價格排序(或依名稱 Car.OrderByCarName)
        CompareOperation sortOp = new CompareOperation(Car.OrderByCarPrice);

        // 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<T>、IComparer<T>,配合 List<T>.Sort() 或 Array.Sort() 即可完成各種排序需求,效能經過高度優化且經過測試。

本系列旨在教學展示演算法原理與委派策略模式應用,生產環境請優先使用框架內建排序。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved