排序——冒泡算法
冒泡排序(BubbleSort)基本概念:依次比较相邻的两个数,将小数放在前面,大数放在后面(也可置换)。一般使用二重循环来实现,它的时间复杂度为O(n^2)。
下面是一个简单的用于理解冒泡排序的示例程序:
1 using System;
2
3 class Program
4 {
5 static void Main(string[] args)
6 {
7 int[] array = { 3, 2, 1, 21, 324, 16, 36, 25 };
8
9 array = bubbleSort(array);
10
11 foreach (var item in array)
12 {
13 Console.WriteLine(item);
14 }
15 Console.Read();
16 }
17
18 /// <summary>
19 /// 冒泡排序
20 /// </summary>
21 /// <param name="array"></param>
22 /// <returns></returns>
23 public static int[] bubbleSort(int[] array)
24 {
25 int temp;
26 for (int i = 0; i < array.Length; i++)
27 {
28 for (int j = 1; j < array.Length; j++)
29 {
30 if (array[j - 1] > array[j])
31 {
32 temp = array[j - 1];
33 array[j - 1] = array[j];
34 array[j] = temp;
35 }
36 }
37 }
38 return array;
39 }
40 }