zoukankan      html  css  js  c++  java
  • 排序算法一:冒泡排序

    一.算法思想
        对数组的所有元素进行一次遍历,每次遍历将相邻的两个元素进行比较,若为逆序,则交换两个数;因此每次遍历都是将当前未排序的数里面的最大或者最小的数放到最前面。
    二.算法本质
       算法过程需要两个for循环进行控制,第一层for循环i:0~n-1负责控制向前推进遍历比较;第二层for循环:j:0~A.len-i(或者j:A.len~i) 负责控制每次的比较范围,以及进行相邻元素的比较:if(A[j]<A[j+1]){交换;}.如此,对应每个i的遍历都将当前未排序的最大或者最小元素放到最前面,从而实现排序。
    三.代码实现
     public void buble_sort(int[] A)
    {
         for(int i=0;i<A.length;i++)
              for(int j=1;j<A.length-i;j++)    // for(int j=A.length-1;j>i;j--)
              {
                   if(A[j<A[j-1]])
                   {
                           int t=A[j];
                           A[j]=A[j-1];
                           A[j-1]=t;
                   }
              }
    }
  • 相关阅读:
    hdu 1108 最小公倍数
    hdu 1106 排序
    hdu 1097 A hard puzzle
    hdu 1076 An Easy Task
    hdu 1064 Financial Management
    hdu 1061 Rightmost Digit
    hdu 1050 Moving Tables
    hdu 1060 Leftmost Digit
    hdu 1049 Climbing Worm
    hdu1104
  • 原文地址:https://www.cnblogs.com/beijixingzhiguang/p/4319141.html
Copyright © 2011-2022 走看看