<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无码久久精品免费| 成年大片免费高清在线看黄| 亚洲欧洲日产国码久在线| 亚洲欧洲自拍拍偷综合| 亚洲国产成人久久精品影视| 中文字幕一精品亚洲无线一区| 四虎免费久久影院| 精品久久洲久久久久护士免费 | 永久免费毛片手机版在线看| 国产成人精品免费视频大全麻豆| 中文字幕乱码免费看电影| 久久久久久久久久久免费精品| 在线观看亚洲网站| 亚洲国产AV无码一区二区三区| 亚洲专区一路线二| 亚洲人成影院77777| 亚洲福利秒拍一区二区| 亚洲一区二区三区四区在线观看 | 成全视频在线观看免费| 久草免费福利在线| 一个人晚上在线观看的免费视频 | 亚洲一区二区三区在线视频| 国产一区二区视频免费| 一级毛片直播亚洲| 免费在线观看理论片| 免费在线观看你懂的| 亚洲午夜爱爱香蕉片| 中文字幕亚洲一区二区va在线| 久久久久无码专区亚洲av | 国产V片在线播放免费无码| 免费一级全黄少妇性色生活片| 人妻仑刮八A级毛片免费看| 成人免费视频一区二区| 国产成人自产拍免费视频| 手机看片国产免费永久| 久久精品视频免费看| 国产91色综合久久免费|