冒泡排序

摘要:  关于冒泡排序的思路和算法

 

所谓冒泡排序就是给定一组数,针对这组数进行的一种排序。具体的过程是,从第一个数开始,依次与后面的数进行比较,若 前一个数比后一个数大,则交换位置,再与第三个数进行比较,最后出现在结尾的就是本轮最大数字,再次重复直到排除顺序,这是选出最大来进行排列,也可以按选出最小来排,原理是一样的。

比如:

 

用第一个数依次与后面的数比较,比对方大,就交换位置,比对方小就不动,并放弃当前数字,用对方来与后面的数字继续比较,为的就是一次又一次的选出最大的数字。

  比较过程大致:

1、比较相邻的元素。如果第一个比第二个大(小),就交换他们两个。

2、对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。这步做完后,最后的元素会是最大(小)的数。

3、针对所有的元素重复以上的步骤,除了最后已经选出的元素(有序)。


4、持续每次对越来越少的元素(无序元素)重复上面的步骤,直到没有任何一对数字需要比较,则序列最终有序。

 

 1 具体实现代码:
 2 public static void main(args[]){
 3     for(int i=0;i<arr.length;i++){//外层循环控制轮数
 4          for(int j=0;i<arr.length-1-i;j++){//内层循环控制比较次数
 5               if(arr[j]>arr[j+1]){
 6                    int  temp=arr[j];
 7                    arr[j]=arr[j+1];
 8                    arr[j+1]=temp;
 9             }  
10         }
11     }  
12 }      

 

转载于:https://www.cnblogs.com/liuqijia/p/11416453.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值