c#基础--冒泡排序

冒泡排序:

让数组中的元素两两比较(第i个与第i+1个比较),经过n(i-1)遍两两比较,数组中的元素能按照我们预期的规律排序。

 

要从大到小排序,我们进行两两比较的时候用“<”

要从小到大排序,我们进行两两比较的时候用“>”

第i个与第i+1个比较,满足条件时,两数交换值

 

例:有如下数据

10,20,30,40,50,60,70  原始数据7个元素

20,30,40,50,60,70,10  第一趟 比较了6次  最小的数已跑到最后位

30,40,50,60,70,20,10  第二趟 比较了5次  

40,50,60,70,30,20,10  第三趟 比较了4次

50,60,70,40,30,20,10  第四趟 比较了3次

60,70,50,40,30,20,10  第五趟 比较了2次

70,60,50,40,30,20,10  第六趟 比较了1次

 

规律:n个数需要比较n-1趟

        第i趟比较的次数为:n-i次

 

代码如下:

//将数组中的数值按照从大到小排序
int[] arrTemp = {12,43,62,13,1,23,56,99,36,21,44 };
for (int i = 0; i < arrTemp.Length-1; i++)//控制排序的趟数
{
for (int j = 0; j < arrTemp.Length - i - 1; j++)
{
if (arrTemp[j] < arrTemp[j + 1])
{
int temp = arrTemp[j];
arrTemp[j]= arrTemp[j+1];
arrTemp[j + 1] = temp;
}
}
}



posted @ 2011-12-09 02:20  zyswtwang  阅读(253)  评论(0)    收藏  举报