冒泡排序在初学阶段是最简单方便易于理解的排序手段
冒泡排序可以理解成将一个数组内的所有元素想成大小不一的泡泡,然后将其全部装入一个密闭的试管中,在两个相邻泡泡之间,大的泡泡始终往下钻,直到沉底或遇到更大的泡泡。
由此,思路为:
首先声明一个试管,即为数组:
int[] s=new int[]{55,28,44,66,19,27,6,88,2};
再进行循环,将第一个元素与其他元素两两比较,小的在前,大的在后。
for (int i = 0; i < s.length-1; i++) {//冒泡排序:外循环
for (int j = 0; j < s.length-1-i; j++) {//内循环
if(s[j]>s[j+1]){//交换位置
int temp;
temp=s[j];
s[j]=s[j+1];
s[j+1]=temp;
}
}
}
在“s.length-1-i” 之中,-i,可以理解为每进行一次外循环,都有一个最大泡泡沉底,在下次循环时自然就不用去考虑。