------- Windows Phone 7手机开发、.Net培训、期待与您交流! -------一
交换排序的基本思想是:两两比较待排序记录的关键字,发现两个记录的次序相反是即金星交换直到没有反序的记录为止。
应用交换排序基本思想的主要排序方法有:冒泡排序和快速排序。
冒泡排序
1.排序方法 ;让数组中的元素两两比较(第i个与第i+1个比较)经过n(i-1)遍两两比较,数组中的元素能按照我们预期的规律排序。
要从大到小排序,我们进行两两比较的时候用“<”号,成立则交换,不成立则不交换。
例;1、2、3、4、5、6、7、原始数据 7个元素
2、3、4、5、6、7、1、 第一趟比较了6次
3、4、5、6、7、2、1、 第二趟比较了5次
4、5、6、7、3、2、1、 第三趟比较了4次
5、6、7、4、3、2、1、 第四趟比较了3次
6、7、5、4、3、2、1、 第五趟比较了2次
7、6、5、4、3、2、1、 第六趟比较了1次
也就是说n个数需要排n-1趟
第i趟的比较次数为n-i次
例:
int[] score = {95,18,20,48,76,20,38,87,90,37,65,6,31,31};
for (int i = 0; i < score.Length-1; i++)//控制比较的趟数。当i=0时,是比较的第一趟,以此类推 趟数=i+1;
{
for (int j = 0; j < score.Length-1; j++)
{
if (score[j]<score[j+1])//改变“<”为“>”号 则改变排列的顺序
{
int temp = score[j];
score[j] = score[j + 1];
score[j + 1] = temp;
}
}
}
for (int i = 0; i < score.Length; i++)
{
Console.WriteLine(score[i]);
}
Console.ReadKey();
//从大到小排序