C#冒泡排序
昨天把快速排序造出来了,把其它的排序也再复习一下吧,呵呵: )
冒泡排序
所谓冒泡,就是在水中垂直排列着一排大小顺序错乱的气泡,现在要求他们从大(小)到(大)排好队。于是众气泡们商量出了一条规则以便有规矩而不慌乱的排好顺序。据其中一气泡透露消息,它们的规则是这样的:
从最底下的气泡开始往上浮动,如若碰到上面的气泡比它小,就对它说:兄弟,对不住了,您小,不能在上面,咱俩必须换个位置。一番交涉之后,气泡上升了,并继续着同样的使命。当碰到上面的兄弟比它大的时候, 没办法,游戏有游戏的规则,人生有人生的轨迹,气泡有气泡的规矩,只能对上面的仁兄说:老兄,我的使命结束了,后面的路程你替我走好!等到第一个气泡冒到最上面的时候,第一个轮回结束了,它们不再“群泡无首”,“混沌”的气泡世界也开始了有序的端倪,最大的气泡也占据了第一的宝座。阿Q在临死的时候说过,20年后老子还是条好汉,阿Q或者鲁迅大师认为人生20年一个轮回。而气泡的第一个轮回刚刚结束,下一个轮回便接踵而至,每一个气泡都充满活力的开始了新一个轮回的“气泡奋斗”。经过n个轮回的奋斗,气泡都找到了各自的归属,气泡世界的“熵”值达到了最小,一切变的多么有序而美好!
呵呵,胡侃一番: )鸡蛋与西红柿一并奉与难得逛于此的读者。好了代码如下(关于代码的解释见如上所述):
冒泡排序
所谓冒泡,就是在水中垂直排列着一排大小顺序错乱的气泡,现在要求他们从大(小)到(大)排好队。于是众气泡们商量出了一条规则以便有规矩而不慌乱的排好顺序。据其中一气泡透露消息,它们的规则是这样的:
从最底下的气泡开始往上浮动,如若碰到上面的气泡比它小,就对它说:兄弟,对不住了,您小,不能在上面,咱俩必须换个位置。一番交涉之后,气泡上升了,并继续着同样的使命。当碰到上面的兄弟比它大的时候, 没办法,游戏有游戏的规则,人生有人生的轨迹,气泡有气泡的规矩,只能对上面的仁兄说:老兄,我的使命结束了,后面的路程你替我走好!等到第一个气泡冒到最上面的时候,第一个轮回结束了,它们不再“群泡无首”,“混沌”的气泡世界也开始了有序的端倪,最大的气泡也占据了第一的宝座。阿Q在临死的时候说过,20年后老子还是条好汉,阿Q或者鲁迅大师认为人生20年一个轮回。而气泡的第一个轮回刚刚结束,下一个轮回便接踵而至,每一个气泡都充满活力的开始了新一个轮回的“气泡奋斗”。经过n个轮回的奋斗,气泡都找到了各自的归属,气泡世界的“熵”值达到了最小,一切变的多么有序而美好!
呵呵,胡侃一番: )鸡蛋与西红柿一并奉与难得逛于此的读者。好了代码如下(关于代码的解释见如上所述):
using System;
namespace BubbleTest
{
class Bubble
{
public void sort (int[] data)
{
int high = data.Length - 1;
for (int j = 0; j < high; j++)
{
for (int i = 0; i < high - j; i++)
{
if (data[i] > data[i + 1])
{
int t = data[i];
data[i] = data[i + 1];
data[i + 1] = t;
}
}
}
}
}
class Program
{
static void Main(string[] args)
{
const int len = 10;
int[] data = new int[len];
Random rnd = new Random();
for (int i = 0; i < len; i++)
{
data[i] = rnd.Next(100);
Console.Write("{0}\t", data[i]);
}
Console.WriteLine("--------------------------------------------------------------------------");
Bubble bs = new Bubble();
bs.sort(data);
for (int i = 0; i < len; i++)
Console.Write("{0}\t", data[i]);
Console.Read();
}
}
}
namespace BubbleTest
{
class Bubble
{
public void sort (int[] data)
{
int high = data.Length - 1;
for (int j = 0; j < high; j++)
{
for (int i = 0; i < high - j; i++)
{
if (data[i] > data[i + 1])
{
int t = data[i];
data[i] = data[i + 1];
data[i + 1] = t;
}
}
}
}
}
class Program
{
static void Main(string[] args)
{
const int len = 10;
int[] data = new int[len];
Random rnd = new Random();
for (int i = 0; i < len; i++)
{
data[i] = rnd.Next(100);
Console.Write("{0}\t", data[i]);
}
Console.WriteLine("--------------------------------------------------------------------------");
Bubble bs = new Bubble();
bs.sort(data);
for (int i = 0; i < len; i++)
Console.Write("{0}\t", data[i]);
Console.Read();
}
}
}
浙公网安备 33010602011771号