• <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
            <2008年7月>
            293012345
            6789101112
            13141516171819
            20212223242526
            272829303112
            3456789

            留言簿(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 胡滿超 閱讀(10364) 評(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   管理


            久久婷婷激情综合色综合俺也去| 精品人妻伦九区久久AAA片69 | 99久久无码一区人妻| 一本久久免费视频| 色综合久久最新中文字幕| 狠狠色丁香久久婷婷综合| 91久久婷婷国产综合精品青草| 狠狠精品久久久无码中文字幕| 久久人人超碰精品CAOPOREN| 国产精品久久久久久久app| 国产精品99久久久久久人| 亚洲欧洲中文日韩久久AV乱码| 国产激情久久久久影院| 久久乐国产综合亚洲精品| 7国产欧美日韩综合天堂中文久久久久| 日日噜噜夜夜狠狠久久丁香五月| 亚洲&#228;v永久无码精品天堂久久| 亚洲国产精品久久久久婷婷软件 | 亚洲精品99久久久久中文字幕| 亚洲成色999久久网站| 久久丫精品国产亚洲av| 日韩精品无码久久一区二区三| 久久伊人中文无码| 久久99久久99小草精品免视看| 久久婷婷五月综合色奶水99啪| 香蕉久久夜色精品升级完成| 久久99国产精品久久99小说| 老男人久久青草av高清| 亚洲а∨天堂久久精品9966| 亚洲精品无码久久不卡| 久久精品国产一区二区三区 | 97精品依人久久久大香线蕉97| 久久精品成人欧美大片| 四虎亚洲国产成人久久精品| 狠狠人妻久久久久久综合蜜桃 | 亚洲国产精品无码久久一线| 久久只有这里有精品4| 少妇久久久久久被弄到高潮| 亚洲午夜久久久影院伊人| 久久精品国产亚洲精品2020| 天天爽天天爽天天片a久久网|