<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    學(xué)海拾遺

    生活、技術(shù)、思想無處不在學(xué)習(xí)
    posts - 52, comments - 23, trackbacks - 0, articles - 3
      BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

    添加一個(gè)二路冒泡算法

    Posted on 2009-02-21 14:16 tanzek 閱讀(571) 評論(0)  編輯  收藏 所屬分類: 技術(shù)學(xué)習(xí)

    看Robert Sedgewick的《algorithms in c》一書時(shí),在講到冒泡算法的時(shí)候在練習(xí)中提到了“搖擺排序”(中文版書中的P206面的第30題),然而細(xì)細(xì)理解出來就是指的二路冒泡,其實(shí)在Donald E.Knuth的《計(jì)算機(jī)程序設(shè)計(jì)藝術(shù) 第三卷 排序與查找》里面也有講過,名字記得不是很清楚了。
    暫時(shí)來講我自己實(shí)現(xiàn)了一個(gè),里面的性能分析和調(diào)優(yōu)留在以后再做,先把它放在這里和大家一起共享一下,歡迎指正。

    /*
    *?by?tanzek.?2009-02-21 .?
    * implement in dev cpp.
    */

    #include?
    < stdio.h >
    #include?
    < stdlib.h >

    #define ?n?10

    void ?print( int ? * a,? int ?m,? int ?l,? int ?r)
    {
    ????
    for ( int ?i = 0 ;?i < m;?i ++ )
    ????{
    ????????printf(
    " %d? " ,?a[i]);????????
    ????}?????
    ????printf(
    " --->l=%d,?r=%d\n " ,?l,?r);
    }

    int ?count? = ? 0 ;

    int ?main()
    {
    ????
    int ?a[ 10 ]? = ?{ 104 , 21 , 33 , 4 , 8 , 102 , 7 , 89 , 91 , 11 };
    ????
    int ?l,?r;
    ????l?
    = ? - 1 ;?r? = ?n;
    ????
    int ?t? = ? 1 ;
    ????
    int ?temp;
    ????
    int ?j;
    ????
    while (t? > ? 0 )
    ????{
    ????????count?
    ++ ;
    ????????printf(
    " 第%d趟\n " ,?count);
    ?????????
    ????????t?
    = ? - 1 ;
    ????????
    for (j = r - 1 ;?j > l + 1 ;?j -- )
    ????????{
    ????????????
    if (a[j]? < ?a[j - 1 ])
    ????????????{
    ????????????????temp
    = a[j];?a[j] = a[j - 1 ];?a[j - 1 ] = temp;
    ????????????????t?
    = ?j? - ? 1 ;
    ????????????}
    ????????}
    ????????l?
    = ?j;
    ????????
    for (j = l + 1 ;?j < r - 1 ;?j ++ )
    ????????{
    ????????????
    if (a[j]? > ?a[j + 1 ])
    ????????????{
    ????????????????temp
    = a[j];?a[j] = a[j + 1 ];?a[j + 1 ] = temp;
    ????????????????t?
    = ?j + 1 ;
    ????????????}
    ????????}
    ????????r?
    = ?j;
    ????????print(a,?n,?l,?r);
    ????}
    ????
    ????printf(
    " \ncount?=?%d\n " ,?count);
    ????system(
    " PAUSE " );
    ????
    return ? 0 ;
    }

    同時(shí),通過GOOGLE搜索,也搜到一篇二路冒泡算法實(shí)現(xiàn)的文章,也放在這里供大家一起參考。
    武林外傳 http://qzone.qq.com/blog/53631006-1210520905
    主站蜘蛛池模板: 亚洲av女电影网| 亚洲最大福利视频网站| 国产精品网站在线观看免费传媒| 最近中文字幕mv手机免费高清| 亚洲国产成+人+综合| 精品女同一区二区三区免费站| 亚洲最大在线观看| 在线视频观看免费视频18| 亚洲综合偷自成人网第页色| 大陆一级毛片免费视频观看| 亚洲国产欧美一区二区三区| 国产福利免费在线观看| 一级美国片免费看| 亚洲av之男人的天堂网站| 无码中文字幕av免费放dvd| 亚洲欧洲日本国产| 成年女人午夜毛片免费视频| 亚洲avav天堂av在线网毛片| 亚洲中文字幕伊人久久无码| 黄网站免费在线观看| 亚洲精品成人图区| 女人被男人桶得好爽免费视频| 豆国产96在线|亚洲| 国产亚洲精品免费视频播放 | 另类图片亚洲校园小说区| 国产日产亚洲系列最新| 亚洲免费精彩视频在线观看| 亚洲午夜在线播放| 免费萌白酱国产一区二区| 两个人www免费高清视频| 亚洲激情电影在线| 免费大黄网站在线看| 免费精品99久久国产综合精品| 精品亚洲成A人无码成A在线观看| 四虎影在线永久免费四虎地址8848aa | 亚洲一区二区三区影院| 国产片AV片永久免费观看| 美女视频黄频a免费| 久久久久亚洲av无码专区蜜芽| 啦啦啦高清视频在线观看免费 | 波多野结衣免费一区视频|