算法分析
BubbleSort算法是由双层循环实现的,其中外层循环用于控制排序次数,一般为排序的数组长度减1,因为最后一次循环只剩下一个元素不需要对比。内层循环用于对比数组中相邻元素的大小,以确定是否交换位置,对比和交换次数随排序次数而减少。
重点内容
代码:
public class BubbleSort {
public static void main(String[] args){
//创建一个数组,数组内元素是乱序的
int[]array = {1,64,12,32,45,52};
//创建冒泡排序类的对象
BubbleSort sorter = new BubbleSort();
//调用排序方法将数组排序
sorter.sort(array);
}
//冒泡排序
public void sort(int[] array){
for(int i = 1;i < array.length;i++){
//比较相邻两个数的大小,较大的往后排
for(int j = 0;j < array.length - i;j++){
if (array[j] > array[j+1]){
int temp = array[j]; //把第一个元素存在临时变量中
array[j] = array[j+1];//把第二个元素保存到第一个元素单元中
array[j+1] = temp ;//把临时变量保存到第二个元素单元中
}
}
}
showArray(array); //输出排序后的数组元素
}
//显示数组中的元素
public void showArray(int[] array){
for (int i:array){//遍历数组
System.out.println(">"+i);//输出每个数组中的元素值
}
System.out.println();
}
}
数据结构:
结果: