排序算法——冒泡排序(Bubble Sort)。冒泡排序是一种基本的排序算法,其基本思想是通过不断比较相邻的元素并交换它们的位置,将较大的元素逐步“冒泡”到数组的末尾。
下面是一个用C#实现的冒泡排序算法:
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;
}
}
}
}
上述代码中,我们首先定义了一个 BubbleSort
方法,该方法接受一个整数数组 arr
作为参数。然后,我们使用两个嵌套的 for
循环来遍历数组中的每个元素,并比较相邻元素的大小。如果前一个元素大于后一个元素,则交换它们的位置。通过这样的比较和交换操作,我们可以将较大的元素逐步“冒泡”到数组的末尾,从而实现排序。
在内部循环结束后,我们可以确保数组的最后 i
个元素已经按升序排列。因此,在下一轮循环中,我们只需要比较前 n-i-1
个元素。最终,当我们完成所有循环时,整个数组将被排序。
下面是一个示例,演示如何使用上述方法对一个整数数组进行排序:
int[] arr = { 5, 2, 8, 4, 1 };
BubbleSort(arr);
Console.WriteLine(string.Join(", ", arr)); // 输出:1, 2, 4, 5, 8
上述代码首先定义了一个整数数组 arr
,然后调用 BubbleSort
方法对其进行排序。最后,使用 string.Join
方法将排序后的数组转换为字符串,并将其输出到控制台。