冒泡排序

来源:互联网 发布:淘宝店招图片素材 编辑:程序博客网 时间:2024/04/29 02:46
 

所谓C#冒泡排序就是在每一次排序的过程中总有一个最大的值被移动到后面,值小的就像水泡一样浮到水面。

所谓冒泡,就是在水中垂直排列着一排大小顺序错乱的气泡,现在要求他们从大(小)到(大)排好队。于是众气泡们商量出了一条规则以便有规矩而不慌乱的排好顺序。据其中一气泡透露消息,它们的规则是这样的:
从最底下的气泡开始往上浮动,如若碰到上面的气泡比它小,就对它说:兄弟,对不住了,您小,不能在上面,咱俩必须换个位置。一番交涉之后,气泡上升了,并继续着同样的使命。当碰到上面的兄弟比它大的时候, 没办法,游戏有游戏的规则,人生有人生的轨迹,气泡有气泡的规矩,只能对上面的仁兄说:老兄,我的使命结束了,后面的路程你替我走好!等到第一个气泡冒到最上面的时候,第一个轮回结束了,它们不再“群泡无首”,“混沌”的气泡世界也开始了有序的端倪,最大的气泡也占据了第一的宝座。阿Q在临死的时候说过,20年后老子还是条好汉,阿Q或者鲁迅大师认为人生20年一个轮回。而气泡的第一个轮回刚刚结束,下一个轮回便接踵而至,每一个气泡都充满活力的开始了新一个轮回的“气泡奋斗”。经过n个轮回的奋斗,气泡都找到了各自的归属,气泡世界的“熵”值达到了最小,一切变的多么有序而美好!

冒泡排序速记口诀(降序):
N个数字来排序,两两相比大靠前,
外层循环N-1,内层循环N-1-i.
如果要升序,只要把程序中的if (a[j] < a[j + 1]) 小于号换成大于号就行了

using System;
class Program{

static void Main(string[] args)
{
int[] a = new int[5] {58,87,99,71,68 };

int temp; //临时变量,保存最大值
int i,j; //循环变量
for (i = 0; i < a.Length-1; i++)
{
for (j = 0; j < a.Length - 1-i; j++)
{
    if (a[j] < a[j + 1])
    {
    temp = a[j];
    a[j] = a[j + 1];
    a[j + 1] = temp;
    }
}
}
foreach (int c in a) //用foreach输出排序后的数组元素
{
Console.WriteLine(c);
}
}
}

原创粉丝点击