冒泡排序
冒泡排序是一种最基础的交换排序
冒泡排序算法的原理:
1、对相邻的数进行比较,根据从小到大交换位置。
2、从第一对元素开始到最后一对元素做同样的工作,最后一个数应是最大的数。
3、针对所有的元素重复上面的步骤,除了最后一个元素,因为每次下来最后一个数都将是最大的数。
4、持续比较,直到没有元素需要比较。
冒泡排序动图演示:
冒泡排序算法的过程:
有一组数:
首先第一轮,六个数共需比较5次:最后结果为 19 11 34 3 56 109
第二轮,最后一位数为最大数不需要比较共需比较4次:11 19 3 34 56 109
第三轮,共需比较3次:11 3 19 34 56 109
第四轮,共需比较两次:3 11 19 34 56 109
第五轮,共需比较一次:3 11 19 34 56 109
代码实现:
int l = 0;
for(int x = 0;x<arrays.length-1;x++){
for(int y = 0;y<arrays.length-1-x;y++){
if(arrays[y]>arrays[y+1])
l = arrays[y];
arrays[y+1] = arrays[y];
arrays[y+1] = l;
}
}
}
注:arrays.length-1-x中arrays.length-1是防止数组越界,arrays.length-1-x为了保证每次比较最后一位数不用比。