• <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>
            隨筆 - 89  文章 - 118  trackbacks - 0
            <2011年5月>
            24252627282930
            1234567
            891011121314
            15161718192021
            22232425262728
            2930311234

            留言簿(16)

            隨筆分類(56)

            隨筆檔案(89)

            文章分類

            推薦博客

            搜索

            •  

            最新隨筆

            最新評(píng)論

            閱讀排行榜

            剛剛有人考了我一道題,逆序輸出單鏈表:
            我是這樣答的(下面的代碼為偽代碼,不能通過編譯):

            void printSList(slist *pList)
            {
                assert(pList);
                
            if (pList == NULL)
                    
            return;

                string str;
                
            while (pList)
                {
                    str 
            = string(*pList) + str;
                    pList 
            = pList->next;
                }

                printf(
            "%s", str.c_str());
            }

            后來他讓我想一想還有沒有更為簡(jiǎn)單的方法了,當(dāng)時(shí)允許我上網(wǎng),我用了幾分鐘到網(wǎng)上找了一下,沒有找到更好的辦法,如果先把鏈表逆序,再順序輸出時(shí)間復(fù)雜度更高。

            我走出大樓以后,忽然想到,是遞歸呀,對(duì)是遞歸:

            void printSList(slist *pList)
            {
                assert(pList);
                
            if (pList == NULL)
                    
            return;
                
                
            if (pList->next == NULL)
                    printf(
            "%s"*pList);
                
            else
                {
                    printSList(pList
            ->next);
                    printf(
            "%s"*pList);
                }
            }

            哎,人生中機(jī)會(huì)就是一瞬之間,錯(cuò)過不知道下一次又是什么時(shí)候。但只要做了就會(huì)收獲,會(huì)一次比一次做的好。吃飯去了...


            posted on 2008-02-29 11:43 胡滿超 閱讀(10365) 評(píng)論(19)  編輯 收藏 引用

            FeedBack:
            # re: 單鏈表逆序輸出 2008-02-29 12:47 raof01
            先逆序再輸出比遞歸高效。
            N個(gè)節(jié)點(diǎn),遞歸就存在N次函數(shù)調(diào)用,而先逆序再輸出就2次調(diào)用(分兩個(gè)函數(shù)寫的話)——當(dāng)然不包括調(diào)用其他函數(shù)。其他函數(shù)如print()調(diào)用次數(shù)是固定的。假設(shè)N巨大,還有可能出現(xiàn)棧問題,而先做逆序僅僅是指針的賦值循環(huán)。  回復(fù)  更多評(píng)論
              
            # re: 單鏈表逆序輸出 2008-02-29 13:00 胡滿超
            @raof01
            “先逆序再輸出”是最直觀的想法,我的第一段代碼是另外一種思路。“先逆序再輸出”的時(shí)間復(fù)雜度是O(N*2),但會(huì)破壞原鏈表本身的結(jié)構(gòu)。三種解決辦法各有優(yōu)缺點(diǎn),讓我選,我會(huì)選擇我的第一段代碼,這種實(shí)現(xiàn)最為清晰易懂。  回復(fù)  更多評(píng)論
              
            # re: 單鏈表逆序輸出 2008-02-29 13:04 hyou
            lol那個(gè)鏈尾==null時(shí)不該打印呀 否則豈不末尾打印兩次?
            哈無論如何 都是慢慢進(jìn)步咯 學(xué)習(xí)了  回復(fù)  更多評(píng)論
              
            # re: 單鏈表逆序輸出 2008-02-29 13:27 魔域私服
            學(xué)習(xí)了````  回復(fù)  更多評(píng)論
              
            # re: 單鏈表逆序輸出[未登錄] 2008-02-29 14:40 santa
            如果你是去面dev的話你這個(gè)回答人家會(huì)不滿意的,如果數(shù)據(jù)量大,遞歸絕對(duì)掛掉。遞歸的效率會(huì)很低,因?yàn)橐O(shè)計(jì)到許多系統(tǒng)棧操作,比起逆序要低效許多許多。  回復(fù)  更多評(píng)論
              
            # re: 單鏈表逆序輸出 2008-02-29 17:08 浪跡天涯
            面試時(shí) 切記使用傻傻的方法
            我覺得遞歸 可能是最先想到的
            第一張方法也很巧妙 已經(jīng)回答的很好了  回復(fù)  更多評(píng)論
              
            # re: 單鏈表逆序輸出 2008-02-29 18:01 humanchao
            @浪跡天涯
            謝謝您的鼓勵(lì)!  回復(fù)  更多評(píng)論
              
            # re: 單鏈表逆序輸出 2008-02-29 18:27 comiunknown
            先把這個(gè)單項(xiàng)鏈表按順序把每個(gè)節(jié)點(diǎn)的值壓到一個(gè)堆棧里面,讀完后,然后從堆棧中把值依次讀出來,算法復(fù)雜度只有O(n)。感覺這個(gè)題是考堆棧。  回復(fù)  更多評(píng)論
              
            # re: 單鏈表逆序輸出 2008-03-01 10:00 winsty
            遞歸的效率很低的...  回復(fù)  更多評(píng)論
              
            # re: 單鏈表逆序輸出[未登錄] 2008-04-18 23:43 christanxw
            遞歸絕對(duì)是失敗的做法。  回復(fù)  更多評(píng)論
              
            # re: 單鏈表逆序輸出 2008-09-26 17:50 oracle3
            分配一個(gè)數(shù)組,把指針放到數(shù)組中,然后for倒著打印,應(yīng)該最簡(jiǎn)單  回復(fù)  更多評(píng)論
              
            # re: 單鏈表逆序輸出 2010-10-16 17:14 QQ124045670
            遞歸那個(gè)方法我還沒學(xué)到,所以我使用了分配一個(gè)數(shù)組,把指針放到數(shù)組中,然后for倒著打印
            Status display(LinkList &L)
            {
            printf("\n---------------------------顯示單鏈線性表----------------------\n");
            LinkList p;
            int n[100];
            int j=100;
            p=L->next; //打印的時(shí)候應(yīng)該從頭結(jié)點(diǎn)的下一個(gè)結(jié)點(diǎn)開始打印,否則會(huì)出現(xiàn)亂碼
            printf("\n單鏈表為:\t");
            if(p!=NULL)
            {
            for(;p!=NULL;--j)
            {
            n[j-1]=p->date; //j-1是因?yàn)?00要存放頭結(jié)點(diǎn)的位置
            p=p->next;
            }
            for(;j<100;j++)
            {
            printf("%d",n[j]);
            }
            }
            free(p);
            return 1;
            }//display  回復(fù)  更多評(píng)論
              
            # re: 單鏈表逆序輸出 2011-09-18 21:47 wmj
            @comiunknown
            我也這么想的  回復(fù)  更多評(píng)論
              
            # re: 單鏈表逆序輸出 2012-07-02 09:33 
            業(yè)績(jī)依據(jù)絕對(duì)不是建立在一種想象當(dāng)中,是必須從客觀數(shù)據(jù)當(dāng)中體現(xiàn)業(yè)績(jī)的一種常態(tài)依據(jù)的,盡管這樣的依據(jù)多少反映了一些現(xiàn)實(shí),但是其實(shí)更多的反映的是事實(shí)上面業(yè)績(jī)的依據(jù)。  回復(fù)  更多評(píng)論
              
            # re: 單鏈表逆序輸出 2012-07-02 09:34 
            業(yè)績(jī)依據(jù)證明有效的方式一定是取決于業(yè)績(jī)依據(jù)的新的概念,這個(gè)新的概念其實(shí)是對(duì)于產(chǎn)品的定義,或者說產(chǎn)品的定義領(lǐng)導(dǎo)了一種思維變化的過程,這個(gè)其實(shí)是存在的一種業(yè)績(jī)依據(jù)的表現(xiàn)  回復(fù)  更多評(píng)論
              
            # re: 單鏈表逆序輸出 2012-07-02 09:35 
            實(shí)際上業(yè)績(jī)依據(jù)的兩種表現(xiàn)在市場(chǎng)表現(xiàn)容量的方式在于對(duì)于人得市場(chǎng)反映程度的高低,而在產(chǎn)品概念上面是取決于經(jīng)濟(jì)常識(shí)的需要  回復(fù)  更多評(píng)論
              
            # re: 單鏈表逆序輸出 2012-07-02 09:37 
            業(yè)績(jī)依據(jù)的兩個(gè)方面,就 市場(chǎng)方面具體體現(xiàn)其實(shí)就是實(shí)質(zhì)的專柜,店面的位置面積,形象的一個(gè)代表,而業(yè)績(jī)依據(jù)的產(chǎn)品方面其實(shí)就是概念,定義,理論,原理上面的  回復(fù)  更多評(píng)論
              
            # re: 單鏈表逆序輸出 2012-07-02 09:39 
            作為對(duì)于業(yè)績(jī)依據(jù)的形成應(yīng)該作為一種每年的規(guī)劃出來的事實(shí)來 看待,而這樣的規(guī)劃一定是建立在兩種要素上面,也就是市場(chǎng)要素與產(chǎn)品要素  回復(fù)  更多評(píng)論
              
            # re: 單鏈表逆序輸出 2012-07-02 09:40 
            規(guī)劃業(yè)績(jī)的效果是長(zhǎng)期的事情,也是必須重視起來的事情,這個(gè)與業(yè)績(jī)數(shù)據(jù)沒有什么關(guān)系  回復(fù)  更多評(píng)論
              

            只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。
            網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


            国内精品伊人久久久久妇| 亚洲成色www久久网站夜月| 国产精品欧美亚洲韩国日本久久 | 97视频久久久| 国产一久久香蕉国产线看观看| 91性高湖久久久久| 久久精品国产亚洲AV蜜臀色欲| 国内精品九九久久久精品| 久久久久99精品成人片三人毛片 | 久久er国产精品免费观看8| 久久亚洲精品成人无码网站| 久久精品国产亚洲欧美| 国产精品久久久久蜜芽| 久久精品国产一区二区三区日韩| 色综合久久夜色精品国产| 久久99久久99小草精品免视看 | 久久精品国产秦先生| 一本久久精品一区二区| 国产综合成人久久大片91| 久久精品国产网红主播| 久久亚洲AV无码精品色午夜麻豆| 久久av免费天堂小草播放| 国产成人无码久久久精品一| 97久久婷婷五月综合色d啪蜜芽| 精品水蜜桃久久久久久久| 国产成人精品免费久久久久| 一本色道久久HEZYO无码| 欧美日韩精品久久久久| 国内精品久久久久久久亚洲| 久久成人影院精品777| AAA级久久久精品无码片| 亚洲精品无码久久一线| 99久久国产亚洲综合精品| 久久无码精品一区二区三区| 国产精品成人久久久久三级午夜电影 | 亚洲国产精品久久久久婷婷软件| 久久精品国产亚洲AV无码麻豆 | 久久精品人人做人人妻人人玩| 久久精品免费一区二区| 中文字幕日本人妻久久久免费| 2021国产精品午夜久久|