交换排序_起泡排序

程序代码:

  void BubbleSort(Elem R[],int n)

  {

    i = n;

    while(i > 1)

    {

      last_exchange = 1;

      for(j = 1;j < i;j++)

        if(R[j] > R[j+1])

        {

          swap(R[j],R[j+1]);

          last_exchange = j;

        }

      i = last_exchange;

    }

  }

最好情况:记录有序,比较次数n-1,移动次数为0;

最差情况:记录逆序,比较次数(n-1)+(n-2)+---+1 = n(n-1)/2,移动次数为3n(n-1)/2。

稳定性:稳定。

posted @ 2012-09-12 21:22  毛毛hhmm  阅读(129)  评论(0编辑  收藏  举报