● 交换排序的一种
● 依次比较相邻的两个待排序元素, 若为逆序 (递增或递减) 则进行交换, 将待排序元素从左
至右比较一遍称为一趟 "冒泡"
● 每趟冒泡都将待排序列中的最大关键字交换到最后 (或最前) 位置
● 直到全部元素有序为止 / 直到某次冒泡过程中没有发生交换为止
思路
● 第一次循坏遍历整个数组, 找到数组中最大的一个元素, 让其和数组中第一个元素交换位
置, a[0]= 最大元素
● 第二次循坏遍历整个数组, 找到数组中次最大一个元素, 让其和数组中第二个元素交换位
置, a[1]= 次最大元素
● 以此类推, 遍历完整个数组,
- ???? public?void?sort(int[]?arr)?{
- ????????int?temp?=?0?
- ????????for?(int?j?=?0??j?<?arr.length??j++)?{
- ????????????for?(int?i?=?0??i?<?arr.length?-?j?-?1??i++)?{
- ????????????????// 如果前一个元素大于后一个元素, 则需要交换 2 个位置的数据
- if?(arr[i]?>?arr[i?+?1])?{
- ????????????????????temp?=?arr[i]?
- ????????????????????arr[i]?=?arr[i?+?1]?
- ????????????????????arr[i?+?1]?=?temp?
- ????????????????}
- ????????????}
- ????????}
来源: http://www.bubuko.com/infodetail-3327774.html