//冒泡排序针对下标,每次大循环(外层循环大循环,内层循环小循环)确定一个要与其他数比较的数,然后用这个数通过小循环与这个数之后的数比较,确定最大数(本例为降序)。
比如:1,2,3,4,5 先拿1(第一个下标)与2,3,4,5比较;通过小循环,进入if判断;确定出5最大;换位,放到第一位;
(数次小循环)
1,2,3,4,5
2,1,3,4,5
3,1,2,4,5
4,1,2,3,5
5,1,2,3,4
此时位置为5,1,2,3,4;
再通过大循环拿到1(第二个下标),与2,3,4比较,确定4最大;换位,放到第二位;
5,1,2,3,4
5,2,1,3,4
5,3,1,2,4
5,4,1,2,3
此时位置为5,4,1,2,3;
以此类推,再拿1(第三个下标)与2,3,比较,确定最大数
public class Demo1 {
public static void main(String[] args) {
int [] m={138,245,34,4,85,36};
for(int index1=0;index1<m.length;index1++){
for(int index2=index1+1;index2<m.length;index2++){
if(m[index1]<m[index2]){
//此处拿index1=1;index2=2举例
//先将2-->中间量tmp;此时tmp=2;
int tmp=m[index2];
//将1-->2;此时index2=1;
m[index2]=m[index1];
//将tmp-->1;此时index1=2;
m[index1]=tmp;
//此时index1=2;index2=1;完成排序
}
}
}
for(int a:m){
System.out.println(a);
}
}
}