zoukankan      html  css  js  c++  java
  • 冒泡排序

    JAva冒泡排序的原理:依次比较相邻的两个数,将小数放在前面,大数放在后面。即首先比较第1个和第2个数,将小数放前,大数放后。然后比较第2个数和第3个数,将小数放前,大数放后,如此继续,直至比较最后两个数,将小数放前,大数放后。重复以上过程,仍从第一对数开始比较(因为可能由于第2个数和第3个数的交换,使得第1个数不再小于第2个数),将小数放前,大数放后,一直比较到最大数前的一对相邻数,将小数放前,大数放后,
    第二趟结束,在倒数第二个数中得到一个新的最大数。如此下去,直至最终完成排序。

    思路:采用两个for循环,最外层的for循环是让元素循环比较的次数,有多少个元素就要循环多少次,最里层的for循环是用来依次比较相邻两个数的,循环的次数由会依次减少,因为当找到了最大的数后,就不用在比较这个最大数了。 主要代码如下:

     1 class Demo 
     2 {
     3     public static void main(String[] args) 
     4     {
     5         
     6         //需求:每次将数组中最大的元素把他移到最右边去
     7         int[] arr = {7,3,9,12,6,2};
     8         //将最大的值移到最右边
     9        10         //------这中排序就是冒泡排序-------------------
    11         for(int i =0;i<arr.length-1;i++){
    12 
    13             for(int j=0;j<arr.length-1-i;j++){
    14 
    15                 if(arr[j]>arr[j+1]){
    16                     int temp = arr[j];
    17                     arr[j]=arr[j+1];
    18                     arr[j+1] = temp;
    19                 }
    20             }    
    21         }
    22 }

     

     

  • 相关阅读:
    0309. Best Time to Buy and Sell Stock with Cooldown (M)
    0621. Task Scheduler (M)
    0106. Construct Binary Tree from Inorder and Postorder Traversal (M)
    0258. Add Digits (E)
    0154. Find Minimum in Rotated Sorted Array II (H)
    0797. All Paths From Source to Target (M)
    0260. Single Number III (M)
    0072. Edit Distance (H)
    0103. Binary Tree Zigzag Level Order Traversal (M)
    0312. Burst Balloons (H)
  • 原文地址:https://www.cnblogs.com/lanyinhao/p/6063251.html
Copyright © 2011-2022 走看看