用C#写个冒泡排序
时间: 2023-06-28 11:13:00 浏览: 99
好的,以下是C#实现的冒泡排序算法:
```csharp
public static void BubbleSort(int[] arr)
{
int n = arr.Length;
for (int i = 0; i < n - 1; i++)
{
for (int j = 0; j < n - i - 1; j++)
{
if (arr[j] > arr[j + 1])
{
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
}
```
使用示例:
```csharp
int[] arr = { 10, 5, 8, 20, 2 };
BubbleSort(arr);
foreach (int i in arr)
{
Console.Write(i + " ");
}
// 输出结果:2 5 8 10 20
```
这里定义了一个名为`BubbleSort`的静态方法,参数为一个整型数组。在方法中使用两个嵌套循环,第一个循环用于遍历整个数组,第二个循环用于比较相邻的元素并进行交换。内层循环每执行一次可以将最大的数冒泡到最后面,所以外层循环可以缩小比较的范围。最终得到的数组就是按照从小到大的顺序排列的。
相关问题
使用C#写一个冒泡排序
好的,下面是使用C#编写的冒泡排序代码:
```csharp
public static void BubbleSort(int[] arr)
{
int n = arr.Length;
for (int i = 0; i < n - 1; i++)
{
for (int j = 0; j < n - i - 1; j++)
{
if (arr[j] > arr[j + 1])
{
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
}
```
在该代码中,我们使用了两个 for 循环,第一个循环从第一个元素开始,到倒数第二个元素为止,第二个循环从第一个元素开始,到倒数第 i 个元素为止。在第二个循环中,我们比较相邻的两个元素,如果前一个元素比后一个元素大,就交换它们的位置。这样,每一次循环都会把最大的元素移到最后面,直到整个数组都排好序为止。
使用C# 写一个冒泡排序
下面是使用C#实现的冒泡排序:
```csharp
static void BubbleSort(int[] arr)
{
int n = arr.Length;
for (int i = 0; i < n - 1; i++)
{
for (int j = 0; j < n - i - 1; j++)
{
if (arr[j] > arr[j + 1])
{
// 交换 arr[j] 和 arr[j+1]
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
}
```
可以使用以下代码测试:
```csharp
int[] arr = { 64, 34, 25, 12, 22, 11, 90 };
BubbleSort(arr);
Console.WriteLine("排序后的数组:");
for (int i = 0; i < arr.Length; i++)
{
Console.Write(arr[i] + " ");
}
```
输出结果:
```
排序后的数组:
11 12 22 25 34 64 90
```
阅读全文