笔试题二:冒泡排序算法实现

//冒泡排序
void BubbleSort(int array[],int n)
{
    int i=0; 
    int j=0; 
    int temp=0;
    int flag = 0;
    for(i=0;i<n - 1 ;i++)   /*外循环控制排序的总趟数*/
    {
        flag = 0;   /*本趟排序开始前,交换标志应为假*/
       for(j=n-1;j > i;j--) /*内循环控制一趟排序的进行*/ 
       {
           if(array[j] < array[j-1] ) /*相邻元素进行比较,若逆序就交换*/
           {
             temp =array[j];
             array[j] = array[j-1];
             array[j-1] = temp;
             flag = 1;                  /*发生了交换,故将交换标志置为真*/
           }
           
       }
        if (flag == 0)  /*本趟排序未发生交换,提前终止算法*/
           break; 
    }
}

最简单的程序 建议了解快速排序。
阅读更多
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭