排序思想
相邻两个元素进行比较,如有需要进行交换,每完成一次循环就将
最大的元素排在 最后(如从小到大排),下一次循环是将它的数进行
类似操作。
冒泡排序的具体步骤
若序列中有n个元素,通常进行n-1趟。第一趟,针对第R[1]至R[n]个元素进行。
第二趟,针对第R[1]至R[n-1]个元素进行。......第n-1趟,针对第R[1]至R[2]个元素进
行。
每一趟进行的过程,从第一个元素开始,比较两个相邻的元素。若相邻的元素
的相对位置不正确,则进行交换:否则继续比较下面两个相邻的元素。
结束条件:在任何一趟进行过程中,未出现交换。
案例代码:
package com.tedu.cn;
import java.util.Arrays;
public class MaoPao {
public static void main(String[] args) {
int[] a = new int[]{23,12,33,44,2,6};
boolean flag=true;
while (flag){
int temp;//定义一个临时变量
for (int i=0;i<a.length-1;i++){//冒泡趟数,n-1趟
for (int j=0;j<a.length-i-1;j++){//比较次数
if (a[j]>a[j+1]){
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
flag = !flag;
}
}
if (flag){
break;//若果没有发生交换,则退出循环
}
}
}
System.out.println(Arrays.toString(a));
}
}
结果: