首页 > 编程语言 > 详细

1.冒泡排序

时间:2019-12-12 11:40:15      阅读:102      评论:0      收藏:0      [点我收藏+]

● 交换排序的一种
● 依次比较相邻的两个待排序元素,若为逆序(递增或递减)则进行交换,将待排序元素从左
至右比较一遍称为一趟“冒泡”
● 每趟冒泡都将待排序列中的最大关键字交换到最后(或最前)位置
● 直到全部元素有序为止/直到某次冒泡过程中没有发生交换为止
思路
● 第一次循坏遍历整个数组,找到数组中最大的一个元素,让其和数组中第一个元素交换位
置,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?
????????????????}
????????????}
????????}

1.冒泡排序

原文:https://www.cnblogs.com/moox/p/12027852.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!