很长时间没有写博客了,这段时间迎接了我的下一代宝贝,是人生中很幸福的一件事。今天我给大家介绍一下冒泡排序算法吧。不论哪种语言,在介绍到数组和循环的时候都会说到冒泡排序,并不是它的名字好听而是冒泡排序算法是思路最简单,最容易理解的,那么我们还是通过这个冒泡排序来开启我们算法的排序之路吧。
1 最简单的排序实现
冒泡排序(Bubble Sort)一种交换排序,它的基本思想是:两两比较相邻记录的值,如果反序则交换位置,直到没有反序的交换记录为止。冒泡排序的细节在实现上有很多种变换,我们先来看看最简单的实现方法
/**
* 交换排序
*/
public void exChangeSort(int[] arr) {
//定义两个下标i,j
int i, j;
for (i = 0; i < arr.length; i++) {
for (j = i ; j < arr.length; j++) {
//判断i下标的值和j下标的值大小如果i>j交换位置
if (arr[i] > arr[j]) {
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
}
for (int k = 0; k < arr.length; k++) {
System.out.println(arr[k]);