[交换排序-冒泡排序]
1.算法思想
- 相邻元素进行数值比较,当前一个元素大于后一个元素时,交换两个元素的值,每次遍历都能将最大的值置于数组末尾。
2.流程解析
- 定义int型数组array,包含10个元素
int[] array = {85, 88, 47, 13, 54, 4, 34, 6, 78, 48};
- 定义int型变量i,表示数组下标
int i = 0; //初始值为0,(i >= 0 且 i < 10 )
- 循环遍历数组,若array[i] > array[i + 1],交换数值
- 以此类推
3.动态排序图
4.代码实现:
public static void bubbleSort(int[] array){
for (int i = 0 ; i < array.length - 1 ; i++) {
for (int j = 0 ; j < array.length - 1 - i ; j++) {
if(array[j] > array[j + 1]){
int temp = array[j];
array[j] = array[j + 1];
array[j + 1] = temp;
}
}
}
}
小结:理解≠学会,一定要打断点,debug逐步调试,手动敲一遍代码!!!