核心思想:通过相邻元素的两两比较和交换,将最大元素逐步"冒泡"到数组末尾。
举例:创建一个数组排序
int[] arr = { 9,4,5,7,6,3,1,2};
代码实现:
//外层循环:控制排序轮次
for(int i = 0; i < arr.Length - 1; i ++)
{
//内层循环:每轮比较相邻元素,将当前最大元素移到末尾
for(int j = 0; j < arr.Length - i - 1; j++)
{
if (arr[j] > arr[j+1])
{
//交换元素
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
遍历数组查看结果
foreach( int temp in arr)
{
Console.WriteLine(temp);
}