这几天写项目,偷点懒,写个简单的。
虽然冒泡排序简单,实际工程中也基本用不到,不过用来入门算法还是不错的。
using System;
/// <summary>
/// 冒泡排序,最基本的排序
/// 两两比较,碰到大的交换,碰到小的不变,最终大的放后面小的排到前面
/// 由于比较次数很多,性能一般,实际用处较少
/// 时间复杂度为n2
/// </summary>
namespace test
{
class MainClass
{
public static void Main (string[] args)
{
int [] arr = {4, 1, 2, 6, 3, 7};
BubbleSort (arr);
foreach (int i in arr) {
Console.WriteLine (i);
}
}
private static void BubbleSort (int [] arr) {
int i, j;
for (i = 0; i < arr.Length - 1; i++) {
for (j = 0; j < arr.Length - 1 - i; j++) {
if (arr [j] > arr [j + 1]) { //交换
int temp = arr [j];
arr [j] = arr [j + 1];
arr [j + 1] = temp;
}
}
}
}
}
}