数组内冒泡排序的实现_java实例 ——初学者的分析思考实现

       对于数组内排序的实现,初学者并不是所有人都能直接想到换位的冒泡排序的实现方法的。
        对于我一个脑子不太灵光的人来说,第一个想到的方法就是每次在数组找到一个最大值赋给另一个数组。
        简单举个例子

int []sum={2653};//要排序的数组
int max=sum[0]
int []sum1=new int [4];//要赋给的数组
for(int i=1;i<=3;i++)
{
  if(max<sum[i])
   {
      max=sum[i];
   }
}
这个方法可以取到最大值

       你本来都大张旗鼓准备循环几次每次找到一个最大值赋给数组sum1,突然你懵逼了,因为你排序之后要剔除到每次循环的最大的元素,以你现学的知识来说,根本不知道剔除的方法,你甚至不知道那个最大值在数组里的哪个位置。
       这时候真的的抓头挠腮,看看人家冒泡排序官方答案,果然一个妙啊。哈哈

--------------------------------------------上面都是水文,想看冒泡排序的看下面--------------------------------------

       冒泡排序的思路是数组前后比较大小,如果前者大,就和后者交换位置,进行几次循环,最后达到换到最后面的是最大的,倒数第二的是次大的…
       在操作上的关键就是设置个暂存变量,用于前后交换。

int []sum={2653};//要排序的数组
for(int i=1;i<=3;i++) //一共四个数所以要至少循环三次
{
  for(int i1=0;i1<=3-i;i1++)/*i1是数组角标所以从零开始,比较到sun[2]>sum[3]就ok了,这里i1和i基本没有任何关系,只是为了循环减少一个数,恰好用上了而已*/
  {
    int exchange;
    if(a[i1]>a[i+1])
     {
       exchange=a[i1];
       a[i1]=a[i+1];
       a[i+1]=exchange;
     }
   }
/*至此即排序完成输出数组即可*/
  

       冒泡的核心就是循环换位,每次循环取到一个最大值, 至此冒泡循环演示完毕。
       在java学习的途中同时我在java学习的途中同样收获了很多,很多老师不让这么做,或者冒泡怎么怎么好的言论,你在没有尝试的条件下是没有什么感触的,只有认真思考过才知道其妙处,同时你的常规的思考并非没有任何用处,只有经历各种不同的试错,才有创造成果的可能,而且,成功是你自己创造的。
分享Java学习历程,我是faker123456,如果感觉对你的学习有帮助,希望点个赞哈!

你可能感兴趣的:(java,java,开发语言,后端)