一维数组的排序方法----冒泡排序

new []  arr = {4,3,2,1} // new一个新的数组

分析:1.像金鱼吐泡泡一样,水底→水面,泡泡也是小→大的。冒泡排序法:每次都从第一个元素开始比较,相邻两个元素排序,如果前>后,则调换位置,最终最大的数字会出现在最后一位。

          2.数组:arr(排序,每次循环都从第一个数组开始)

             第1次冒泡排序结果:3,2,1,4红色字体固定,下次不用再参加排序)

             第2次冒泡排序结果:2,1,3,4红色字体固定,下次不用再参加排序

             第3次冒泡排序结果:1,2,3,4红色字体固定,下次不用再参加排序

         经过3次冒泡排序已经完成了排序。因为3次中“2"已经固定,下次不用再参加排序。那“1”不再有相邻的值与它排序比较,则排序结束。数组长度为4,只需要循环比较3次即可。

代码:        for(int x=0;x<array.length-1;x++){  // 外层循环 控制数组需要几次冒泡排序
for(int y =0;y<array.length-x-1;y++){//-x:最后一位固定下次不用再参加排序。-1:防止if中y+1的脚标越界
if(array[y] > array[y+1]){// 相邻的两个值进行比较
int a =0;
a = array[y+1];
array[y+1] = array[y];
array[y] = a;
}
}
}


  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值