冒泡排序的运行原理(好理解):数组
备注:上述讲解来自 维基百科 冒泡排序spa
我的理解:blog
第一轮:第一个元素 与后边第二元素比较,若是第二个元素大,就交换数值,这样第一个元素仍是最大值,而后与第三个元素比较,若是第三个元素大,仍是交换数值,这样第一个元素仍是最大值,一样,依次与后边的全部元素比较,这样第一轮比较以后就能保证第一个元素为最大值,排序
第二轮:第二个元素与后边第三个元素比较,若是第三个元素大,就交换数值,第二个元素与第四个元素比较,若是第四个元素大,仍是交换数值,一样,第二个元素与后边元素依次比较,这样,第二轮结束,第二个元素就是第二大数值。it
一样 第三轮,第四轮.... 直到最后一个元素。这样就是 冒泡排序 (以上是按从大到小排序)class
代码以下(从大到小排序):原理
int[] sort = new int[13] { 1, 4, 89, 34, 56, 40, 59, 60, 39, 1, 40, 90, 48 }; // 输入一个数组 for (int i = 0; i < sort.Length; i++) // 循环每一个元素。 { for (int j = i+1; j < sort.Length; j++) // 每一个元素都与它以后的元素进行一对一比较。 { if (sort[i] < sort[j]) // 当有值比sort[i]大时,就交换数值。 { int temp = sort[i]; sort[i] = sort[j]; sort[j] = temp; // sort[i] 获取的是始终为最大值。 } } } for (int i = 0; i < sort.Length; i++) // 输出 { Console.Write(sort[i] + " "); }