冒泡排序顾名思义像冒泡一样每次排序产生一个最大或最小的数放到最后面,
常见解决方法是使用双层for循环,第一层遍历数组第二层进行比较排序,详细步骤参考代码。
public class Algorithm
{
public static void main(String args[]){
int a[] = Bubblesort();
for(int i = 0;i < a.length;i ++){
System.out.println(a[i]);
}
}
public static int[] Bubblesort(){
//无序数组
int[] arr = new int[]{2,4,5,9,31,64,6,487,61,867};
//boolean flag = false;
for(int i = 1;i < arr.length;i ++){
for(int j = 0;j < arr.length - i;j ++){
if (arr[j] < arr[j + 1])
{
int tmp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = tmp;
//if (!flag) { 排序优化,如果某一步后数组已经有序,可以提前退出
// break;
//} else {
// flag = false;
//}
}
}
}
return arr;
}
}