日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

三行代码实现快速排序

發布時間:2025/3/13 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 三行代码实现快速排序 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一直對函數式編程的魔力所吸引,對λ演算來簡化編程,對動態語言的特性有很濃厚的興趣,也自學查找多方資料,現在列舉一個我冥思苦想了好久才真正懂得的函數式的快速排序。

/// <summary>
/// 快速排序函數
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="list"></param>
/// <returns></returns>
IEnumerable<T> QuickSorting<T>(IEnumerable<T> list) where T : IComparable<T>
{

if (list.Count() <= 1) return list;



var pivot
= list.First();

return QuickSorting(list.Where(x => x.CompareTo(pivot) < 0))
.Concat(list.Where(x
=> x.CompareTo(pivot) == 0))
.Concat(QuickSorting(list.Where(x
=> x.CompareTo(pivot) > 0)));

}

測試方法:

static void Main(string[] args)
{
List
<int> ints = new List<int>
{
22,33,11,43,55,123,452,1,3,5,15,153,10000,532,553,22,33,11,53,11,33
};
List
<int> lists = new Program().QuickSorting<int>(ints).ToList<int>();


lists.ForEach(A
=> Console.WriteLine(A));
}

測試結果:

正確…………!!

親愛的讀者……你看懂了么……

轉載于:https://www.cnblogs.com/TianMaiCheng/archive/2011/08/26/2154756.html

總結

以上是生活随笔為你收集整理的三行代码实现快速排序的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。