C#冒泡排序lambda
时间: 2024-02-13 16:58:48 浏览: 77
C# 冒泡法排序可视化程序,用不同长度条形柱表示数值,条形柱移动,表示冒泡法的实现。
5星 · 资源好评率100%
以下是使用Lambda表达式实现的C#冒泡排序的示例代码:
```csharp
public static void BubbleSort<T>(IList<T> sortArray, Func<T, T, bool> comparison)
{
int n = sortArray.Count;
for (int i = 0; i < n - 1; i++)
{
for (int j = 0; j < n - i - 1; j++)
{
if (comparison(sortArray[j], sortArray[j + 1]))
{
T temp = sortArray[j];
sortArray[j] = sortArray[j + 1];
sortArray[j + 1] = temp;
}
}
}
}
```
使用Lambda表达式作为比较函数,可以根据需要自定义排序规则。比较函数接受两个参数,并返回一个bool值,表示第一个参数是否应该排在第二个参数之前。
以下是使用Lambda表达式进行冒泡排序的示例代码:
```csharp
List<int> numbers = new List<int> { 5, 2, 8, 1, 9 };
BubbleSort(numbers, (a, b) => a > b);
foreach (int number in numbers)
{
Console.WriteLine(number);
}
```
这段代码将列表中的数字按照从小到大的顺序进行排序,并输出排序后的结果。
阅读全文