搜索
您的当前位置:首页正文

冒泡排序的java实现

来源:知库网

简介

冒泡排序应该是最简单的一种排序之一了,它的思想就是通过比较相邻的一对元素,如果前者比后者大就交换这两个数,就这样从第一对比较比较到最后一对就把最大的数换到最后去了,然后开始第二轮的交换,把第二大的数换到倒数第二个位置上,以此类推,最后完成排序。

复杂度

时间复杂度

1.这种算法最坏的情况就是对一个完全逆序的数组进行排序,这样每一次都要交换,所以交换次数为(n-1)+(n-2)+...+3+2+1=n(n-1)/2次
2.最好的情况当然是已经排好序的数组,交换次数为0次
3.所以这个算法的平均复杂度为O(n2),是一种稳定的排序方法

空间复杂度

这是一个时间换空间的算法,它的空间复杂度为O(1),因为不需要引入其他数据结构

java代码实现

    public void bubbleSort(int[]a)
{
      for(int i=0;i<a.length-1;i++)
   {
         for(int j=0;j<a.length-1-i;j++)
       {
             if(a[j]>a[j+1])
          {
              int temp=a[j+1];
              a[j+1]=a[j];
              a[j]=temp;
          }
       }
   }
}

That's all.

Top