冒泡排序:
int[] arr = { 7, 8, 5, 4, 9 };
for (int i = 0; i < arr.Length - 1; i++)
{
for (int j = 0; j < arr.Length - 1; j++)
{
if (arr[j] > arr[j + 1])
{
int a = arr[j]; arr[j] = arr[j + 1]; arr[j + 1] = a;
}
}
}
foreach (var item in arr)
{
Console.WriteLine(item);
}
Console.ReadKey();
比较顺序:将一个数与其后一个数依次比较。
执行过程:
- 第一次大循环
- 7 8 5 4 9 (7与8比后)
- 7 5 8 4 9 (8与5比后)
- 7 5 4 8 9 (8与4比后)
- 7 5 4 8 9 (8与9比后)
- 第二次大循环
- 5 7 4 8 9 (7与5比后)
- 5 4 7 8 9 (7与4比后)
- 5 4 7 8 9 (7与8比后)
- 5 4 7 8 9 (8与9比后)
- 第三次大循环
- 4 5 7 8 9 (5与4比后)
- 4 5 7 8 9 (5与7比后)
- 4 5 7 8 9 (7与8比后)
- 4 5 7 8 9 (8与9比后)
- 第四次大循环
- 4 5 7 8 9 (4与5比后)
- 4 5 7 8 9 (5与7比后)
- 4 5 7 8 9 (7与8比后)
- 4 5 7 8 9 (8与9比后)
选择排序
int[] arr = { 5, 8, 6, 4, 9 };
for (int i = 0; i < arr.Length; i++)
{
for (int j = i + 1; j < arr.Length; j++)
{
if (arr[i] > arr[j])
{
int k;
k = arr[i];
arr[i] = arr[j];
arr[j] = k;
}
}
}
foreach (var item in arr)
{
Console.WriteLine(item);
}
Console.ReadKey();
比较顺序:将一个位置的数与后面位置的数依次比较。
执行过程:
- 第一次大循环
- 5 8 6 4 9 (5与8比后)
- 5 8 6 4 9 (5与6比后)
- 4 8 6 5 9 (5与4比后)
- 4 8 6 5 9 (4与9比后)
- 第二次大循环
- 4 6 8 5 9 (8与6比后)
- 4 5 8 6 9 (6与5比后)
- 4 5 8 6 9 (5与9比后)
- 第三次大循环
- 4 5 6 8 9 (8与6比后)
- 4 5 6 8 9 (6与9比后)
- 第四次大循环
- 4 5 6 8 9 (8与9比后)