编写一个双向冒泡排序算法是什么?

 我来答
惠企百科
2022-12-14 · 百度认证:北京惠企网络技术有限公司官方账号
惠企百科
惠企百科网是一家科普类综合网站,关注热门中文知识,集聚互联网精华中文知识,本着自由开放、分享价值的基本原则,向广大网友提供专业的中文知识平台。
向TA提问
展开全部

思维方法:求和取平均值,然后从中间开始向两边比较排序。

  1. 算法思想简单描述:

    在要排序的一组数中,对当前还未排好序的范围内的全部数,自上而下对相邻的两个数依次进行比较和调整,让较大的数往下沉,较小的往上冒。即:每当两相邻的数比较后发现它们的排序与排序要求相反时,就将它们互换。

  2. 算法:

    /*
    功能:冒泡排序
    输入:数组名称(也就是数组首地址)、数组中元素个数
    */

    voidbubble_sort(int*x,intn)

    {

    intj,k,h,t;

    for(h=n-1;h>0;h=k)/*循环到没有比较范围*/

    {

    for(j=0,k=0;j<h;j++)/*每次预置k=0,循环扫描后更新k*/

    {

    if(*(x+j)>*(x+j+1))/*大的放在后面,小的放到前面*/

    {

    t=*(x+j);

    *(x+j)=*(x+j+1);

    *(x+j+1)=t;/*完成交换*/

    k=j;/*保存最后下沉的位置。这样k后面的都是排序排好了的。*/

    }


    }


    }


    }

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式