冒泡排序

一.算法思想
    对数组的所有元素进行一次遍历,每次遍历将相邻的两个元素进行比较,若为逆序,则交换两个数;因此每次遍历都是将当前未排序的数里面的最大或者最小的数放到最前面。
二.算法本质
   算法过程需要两个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=0;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;
               }
          }
}

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。