• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            旅途

            如果想飛得高,就該把地平線忘掉

            面試系列3--冒泡算法(優(yōu)化)

            冒泡是一個(gè)經(jīng)典算法。

            本段代碼增加了一些優(yōu)化:

            增加 b_exchange ,若本輪冒泡沒(méi)有交換數(shù)據(jù),則表示排序成功,退出
            增加 n_exchange, n_head ,記錄最近的交換位置,下輪冒泡只要冒到該位置即可

            ?/********************************************************************
            ??? created:??? 2006/06/15
            ??? filename:?? C:\Documents and Settings\Administrator\桌面\tmmp\poposort.c
            ??? file path:? C:\Documents and Settings\Administrator\桌面\tmmp
            ??? file base:? poposort
            ??? file ext:?? c
            ??? author:???? A.TNG
            ??? version:??? 0.0.1
            ???
            ??? purpose:??? 冒泡排序的實(shí)現(xiàn)(優(yōu)化)
            ??????????????? 增加 b_exchange ,若本輪冒泡沒(méi)有交換數(shù)據(jù),則表示排序成功,退出
            ??????????????? 增加 n_exchange, n_head ,記錄最近的交換位置,下輪冒泡只要冒到該位置即可
            *********************************************************************/
            #include <stdio.h>
            #include <stdlib.h>

            /*
            ?*? name: poposort
            ?*? params:
            ?*??? polist??????????? [in/out]??????? 待排序的 int 數(shù)組
            ?*??? n???????????????? [in]??????????? int 數(shù)組的長(zhǎng)度
            ?*? return:
            ?*??? 1-成功 0-失敗
            ?*? notes:
            ?*??? 對(duì) polist 進(jìn)行冒泡排序
            ?*?
            ?*? author: A.TNG 2006/06/15 9:00
            ?*/
            int poposort(int *polist, int n)
            {
            ??? int i, j;
            ??? int n_exchange;

            ??? if (NULL == polist)
            ??????? return 0;

            ??? n_exchange = 0;
            ??? for (i = 0; i < n - 1; i++)
            ??? {
            ??????? /* 最外層循環(huán),冒泡排序需要比較 n-1 輪 */
            ??????? int b_exchange;
            ??????? int n_head;

            ??????? b_exchange = 0;
            ??????? n_head = n_exchange;
            ??????? for (j = n - 1; j >= n_head + 1; j--)
            ??????? {
            ??????????? /* 第 i 輪比較,把最輕的泡冒置第 i 個(gè)位置 */
            ??????????? if (polist[j] < polist[j - 1])
            ??????????? {
            ??????????????? int n_tmp_num;

            ??????????????? n_tmp_num = polist[j];
            ??????????????? polist[j] = polist[j - 1];
            ??????????????? polist[j - 1] = n_tmp_num;

            ??????????????? b_exchange = 1;
            ??????????????? n_exchange = j;
            ??????????? } /* end-if */
            ??????? } /* end-for */

            ??????? /* 若第 i 輪冒泡結(jié)束,并沒(méi)有交換數(shù)據(jù),則表示已經(jīng)排序完成 */
            ??????? if (0 == b_exchange)
            ??????????? return 1;
            ??? } /* end-for */
            ??? return 1;
            }

            /*
            ?*? name: main
            ?*? params:
            ?*??? none
            ?*? return:
            ?*??? none
            ?*? notes:
            ?*??? none
            ?*?
            ?*? author: A.TNG 2006/06/15 9:05
            ?*/
            int main()
            {
            ??? // int polist[10] = {45,12,43,11,32,34,91,58,20,82};
            ??? int polist[10]? =
            ??? {
            ??????? 0, 1, 2, 3, 4, 5, 6, 7, 9, 8
            ??? };

            ??? (void) poposort(polist, 10);

            ??? system("PAUSE");
            ??? return 0;
            }

            ?

            posted on 2007-09-05 01:16 旅途 閱讀(159) 評(píng)論(0)  編輯 收藏 引用 所屬分類: C/C++

            国产成人精品综合久久久| 无码任你躁久久久久久老妇| 久久国产免费直播| 久久久国产精品亚洲一区| 国产精品久久自在自线观看| 国产精品丝袜久久久久久不卡| 久久综合九色综合久99| 亚洲精品高清国产一线久久| 韩国三级大全久久网站| 色综合合久久天天给综看| 精品乱码久久久久久久| 亚洲国产成人精品女人久久久| 少妇高潮惨叫久久久久久| 国产精品欧美久久久久无广告| 久久精品国产亚洲av麻豆图片 | AV色综合久久天堂AV色综合在| 精品熟女少妇aⅴ免费久久| 亚洲精品无码久久久影院相关影片| 99精品伊人久久久大香线蕉| 久久综合亚洲欧美成人| 伊人久久精品影院| 久久久久亚洲爆乳少妇无 | 欧美伊人久久大香线蕉综合 | 久久精品人人槡人妻人人玩AV| 精品久久久久久久中文字幕| 国产午夜免费高清久久影院| 亚洲精品乱码久久久久久中文字幕| 久久久久综合网久久| 久久精品国产第一区二区三区| 久久精品无码一区二区WWW| 青青草原综合久久大伊人导航 | 中文字幕久久精品| 欧美日韩中文字幕久久久不卡| 91亚洲国产成人久久精品网址| 久久久久久亚洲Av无码精品专口 | 超级碰久久免费公开视频| 麻豆亚洲AV永久无码精品久久| 久久无码AV一区二区三区| 欧美精品九九99久久在观看| 色婷婷久久久SWAG精品| 久久久国产视频|