首页 > 编程语言 > 详细

冒泡排序

时间:2019-05-16 20:01:35      阅读:142      评论:0      收藏:0      [点我收藏+]

冒泡排序简介

原理:比较两个相邻的元素,将值大的元素交换至右端。
思路:依次比较相邻的两个数,将小数放在前面,大数放在后面。即在第一趟:首先比较第1个和第2个数,将小数放前,大数放后。然后比较第2个数和第3个数,将小数放前,大数放后,如此继续,直至比较最后两个数,将小数放前,大数放后。重复第一趟步骤,直至全部排序完成。
第一趟比较完成后,最后一个数一定是数组中最大的一个数,所以第二趟比较的时候最后一个数不参与比较;
第二趟比较完成后,倒数第二个数也一定是数组中第二大的数,所以第三趟比较的时候最后两个数不参与比较;
依次类推,每一趟比较次数-1;

public class BubbleSort { 
  public static void main(String args[]){ 
      
      int[] arr={0,1,5,9,10,2,4,6,3,7,8,-3}; 
      
       for (int i=0;i<arr.length-1;i++){ //外层循环控制排序趟数
          for (int j=0;j<arr.length-i-1;j++){ //内层循环控制每一趟排序多少次 每次比较次数減一
                if (arr[j]>arr[j+1]){ //两两数值判断
                  int num=arr[j]; 
                  arr[j]=arr[j+1]; //把大的值交换到后面
                  arr[j+1]=num; //把小的值交换到后面
                } 
          } 
       } 
        for(int k:arr){ 
            System.out.print(k+" ");
        }
  } 
}

 

冒泡排序

原文:https://www.cnblogs.com/ssskkk/p/10839581.html

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