C#--基於delegate實現不同功能的排序
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace delegateDemo
{
public delegate bool comparison(int x, int y);
class BubbleSorter
{
public static void sort(int[] nArray, comparison comp)
{
for (int i = 0; i < nArray.Length; i++)
{
for (int j = i + 1; j < nArray.Length; j++)
{
if (comp(nArray[i], nArray[j]))
{
int temp=nArray[i];
nArray[i]=nArray[j];
nArray[j]=temp;
}
}
}
}
public static bool CompareValueDecend(int x, int y)
{ return x > y; }
public static bool CompareAbsAscend(int x, int y)
{ return Math.Abs(x) < Math.Abs(y); }
public static bool CompareString(int x, int y)
{
return string.Compare(x.ToString().Trim(),y.ToString().Trim())<0;
}
}
class Program
{
static void Main(string[] args)
{
int i;
int[] items = { 5, -6, 34, 123, -45 };
BubbleSorter.sort(items, BubbleSorter.CompareAbsAscend);
foreach (int tt in items)
Console.Write("{0,5}",tt);
Console.WriteLine();
BubbleSorter.sort(items, BubbleSorter.CompareValueDecend);
foreach (int tt in items)
Console.Write("{0,5}", tt);
Console.WriteLine();
BubbleSorter.sort(items, BubbleSorter.CompareString);
foreach (int tt in items)
Console.Write("{0,5}", tt);
Console.WriteLine();
Console.ReadLine();
}
}
}
相關文章
- 基於 SplPriorityQueue 實現的排序方法排序
- 基於Masstransit實現Eventbus的功能
- 基於環信實現線上聊天功能
- Python基於TCP實現聊天功能PythonTCP
- 排序演算法總結(基於Java實現)排序演算法Java
- 實現基於JWT的Token登入驗證功能JWT
- 基於JQuery實現的文字框自動填充功能jQuery
- 基於socket用java實現telnet功能Java
- Swift3.0 Delegate和Block的實現SwiftBloC
- 原生js實現商品排序功能JS排序
- angualr實現滑鼠拖拽排序功能排序
- 基於workerman實現的web訊息推送站內信功能Web
- 基於Socket.IO實現Android聊天功能Android
- 【Golang】基於beego/orm實現相同表結構不同表名的分表方法實現GolangORM
- 基於Vue實現可以拖拽排序的樹形表格(已開源)Vue排序
- 排序系統的主選單及功能實現排序
- JS實現前臺表格排序功能JS排序
- 撲克牌排序:基於基數排序的方法排序
- 怎樣實現基於Trie樹和字典的分詞功能分詞
- 基於BIT陣列實現全域性功能開關陣列
- 基於桶的排序之基數排序以及排序方法總結排序
- 基於桶的排序之計數排序排序
- 巧用SQL Server(Ranking)實現view的排序功能SQLServerView排序
- 基於etcd的選主功能實現的主備節點管理
- 基於SpringBoot如何實現一個點贊功能?Spring Boot
- APP功能模組實現之思路歷程(基於iOS端)APPiOS
- 基於事件匯流排EventBus實現郵件推送功能事件
- 基於環信實現實時視訊語音通話功能
- 基於jquery實現的ExceljQueryExcel
- 基於JVMTI的Agent實現JVM
- 關於微信分享自定義標題,說明,圖示基於PHP的功能實現PHP
- 關於常用到的幾個排序,php的實現排序PHP
- 基於Redis點陣圖實現使用者簽到功能Redis
- 基於canvas剪輯區域功能實現橡皮擦效果Canvas
- 基於vue-cli3 SSR 程式實現熱更新功能Vue
- 基於百度UEditor實現後臺釋出新聞功能
- 基於XR Interaction ToolKit與PUN實現VR多人協同功能VR
- SafeTpack ——基於AURIXTM 2G實現功能安全目標