冒泡排序(Bubble Sort)
冒泡排序算法的运作如下:
1.比较相邻的元素。如果第一个比第二个大,就交换他们两个。
2.对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。
3.针对所有的元素重复以上的步骤,除了最后一个。
4.持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。
平均时间复杂度
<code>/// <summary></code>
<code>/// 冒泡排序</code>
<code>/// </summary></code>
<code>/// <param name="arr"></param></code>
<code>/// <param name="count"></param></code>
<code>public</code> <code>static</code> <code>void</code> <code>BubbleSort(</code><code>int</code><code>[] arr,</code><code>int</code> <code>count)</code>
<code>{</code>
<code> </code><code>int</code> <code>i = count, j;</code>
<code> </code><code>int</code> <code>temp;</code>
<code> </code><code>while</code> <code>(i > 0)</code>
<code> </code><code>{</code>
<code> </code><code>for</code> <code>(j = 0; j < i - 1; j++)</code>
<code> </code><code>{</code>
<code> </code><code>if</code> <code>(arr[j] > arr[j + 1])</code>
<code> </code><code>{</code>
<code> </code><code>temp = arr[j];</code>
<code> </code><code>arr[j] = arr[j + 1];</code>
<code> </code><code>arr[j + 1] = temp;</code>
<code> </code><code>}</code>
<code> </code><code>}</code>
<code> </code><code>i--;</code>
<code> </code><code>}</code>
<code>}</code>
<code> </code><code>//使用例子</code>
<code> </code><code>int</code><code>[] y =</code><code>new</code> <code>int</code><code>[] { 1, 32, 7, 2, 4, 6, 10, 8, 11, 12, 3, 9, 13, 5 };</code>
<code> </code><code>BubbleSort(y, y.Length );</code>
<code> </code><code>foreach</code> <code>(</code><code>var</code> <code>item</code><code>in</code> <code>y)</code>
<code> </code><code>Console.Write(item+</code><code>" "</code><code>); </code>
<code> </code><code>//1 2 3 4 5 6 7 8 9 10 11 12 13 32</code>
本文转自曾祥展博客园博客,原文链接:http://www.cnblogs.com/zengxiangzhan/p/3305999.html,如需转载请自行联系原作者