原创 冒泡排序.(C)

2008-8-14 00:05 4216 7 7 分类: MCU/ 嵌入式
基本思想: 两两比较未排序序列的元素,发现两个元素的次序相反时即进行交换,直到没有反序的元素为止。

 

bubbleSort.c / C




void bubbleSort(int array[], int length)
{
  int i, j;
  int temp;
  int flag; // 用以检测序列是否已排序
  for (i=length-1; i > 0; i--)
  {
    flag="0";
    for (j=0; j < i; j++)
    {
      if (array[j] > array[j+1]) // 比较相邻的元素
      {
        flag="1";
    
        temp = array[j]; // 交换 array[j] 和 array[j+1]
        array[j] = array[j+1];
        array[j+1] = temp;       
      }
    }
    if (flag==0) break; // 序列已排序, 跳出循环
  }    
}





 

平均复杂度: O(n^2)

 

另见 


文章评论0条评论)

登录后参与讨论
我要评论
0
7
关闭 站长推荐上一条 /2 下一条