数字排序(冒泡排序法)

将以组数字以从大到小的顺序排列,也称为冒泡排序法:
比如将下面组数字从大到小排列,我们可以用二个数相比较的方法,首先将第一个数和第二个数相比较,如果第一个数比第二个数大则不动,如果小则交换位置:结果为:
 22,10,50, 100, 65, 56, 98, 105, 200, 900,4,1     (第一次排列,即i=0,j循环一次)
22,50, 100, 65, 56, 98, 105, 200, 900,10,4,1      (第二次排列,即i=1,j循环第二次,j循环第二次时,1已经在最后了,所以j可以少循环一次)
.......
循环一次,我们就将最小的数放在了最后一位,
循环二次,我们就将第二小的数放在了倒数第二位,
一次类推,循环数组的长度的次数,就将所有的数比较了一遍,结果也就出来了
一下是相关代码:
 
int[] shuzu= { 10, 22, 4, 50, 100, 65, 56, 98, 105, 200, 900, 1 };
//定义一个数组

int temp;//声明一个交换位置时用的中间变量
            for (int i = 0; i < shuzu.Length -1; i++)
            {
                for (int j = 0; j < shuzu.Length-1-i; j++)
                {
                    if (shuzu[j] < shuzu[j+1])//从大到小是 < ,从小到大是 > 
                    {
                        temp = shuzu[j];
                        shuzu[j] = shuzu[j + 1];
                        shuzu[j + 1] = temp//这三行代码是交换值的常用代码
                    }
                }
            }
            //遍历输出数组
            foreach (var item in shuzu )
            {
                Console.WriteLine(item);
            }
执行结果为:
 
 
 
 
 
 
posted @ 2011-02-24 19:43  再见雪天  阅读(1259)  评论(4编辑  收藏  举报