冒泡排序
1. 原理: 一组数据,从头重复地走访过要排序的元素列,依次比较两个相邻的元素,如果顺序(从小到大)错误就把他们交换过来,直到没有相邻元素需要交换。
因为较小的元素会经由交换慢慢“浮”到数列的顶端,就如同碳酸饮料中二氧化碳的气泡最终会上浮到顶端一样,故名“冒泡排序”。
****2.视频演示:
舞动的排序算法 冒泡排序
3 图文过程演示:
1) 定义一个数组的元素分别为:2,1,4,0,3
2) 比较过程:
第一次选出最大的数字放到a[4]中
// arr.length-1: 防止索引值越界
// arr.length-1-0: 为了减少比较的次数
for (int j = 0; j <arr.length-1-0; j++){
// 判断:两两比较,较大的数往后放...
if (arr[j] > arr[j+1]){
int temp = a[j];
a[j] = a[j+1];
a[j+1] = temp;
}
}
第二次选出最大的数字放到a[3]中
// arr.length-1: 防止索引值越界
// arr.length-1-1: 为了减少比较的次