• <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>

            The Fourth Dimension Space

            枯葉北風寒,忽然年以殘,念往昔,語默心酸。二十光陰無一物,韶光賤,寐難安; 不畏形影單,道途阻且慢,哪曲折,如渡飛湍。斬浪劈波酬壯志,同把酒,共言歡! -如夢令

            動態循環隊列模板類——鏈表實現

             

            //template_by_abilitytao_ACM
            //Begin_template_myqueue
            //這是一個非常高效的循環鏈表隊列
            #include<iostream>
            #include
            <cmath>
            #include
            <algorithm>
            #include
            <cstring>
            #include
            <cstdio>
            using namespace std;

            struct node {
                
            int data;
                node
            * next;
            }
            ;

            class myqueue
            {
            private:
                node 
            *prear;
                
            int lenth;
            public:
                myqueue();
                
            int push(int num);
                
            int pop();
                
            int front();
                
            int rear();
                
            int len();
                
            bool empty();
                
            bool full();
                
            }
            ;


            myqueue::myqueue()
            {

                prear
            =new node;
                prear
            ->data=0x7fffffff;
                prear
            ->next=prear;
                lenth
            =0;
            }



            int myqueue::push(int num)//入隊成功返回1,否則返回0 。問:(返回0有可能嗎?如果內存不夠系統內部有 返回值嗎,猜:返回null?)
            {
                
            {
                    node 
            *p=new node;
                    p
            ->data=num;
                    p
            ->next=prear->next;
                    prear
            ->next=p;
                    prear
            =p;
                    lenth
            ++;
                    
            return 1;
                }

                
            return 0;
            }


            int myqueue::pop()//如果出隊成功返回1,勾著否則返回0;
            {
                
            if(prear->next==prear)
                    
            return 0;
                node 
            *p=prear->next;
                node 
            *q=prear->next->next;
                p
            ->next=q->next;
                delete q;
                
            if(p=p->next)
                    prear
            =p;
                
            --lenth;
            }


            int myqueue::front()//隊列為空返回0,否則返回隊首元素的值
            {

                
            if(prear->next==prear)
                    
            return 0;
                node
            *p=prear->next->next;
                
            return p->data;

            }


            int myqueue::rear()//隊列為空返回值為0,否則返回隊尾元素的值
            {
                
            if(prear->next==prear)
                    
            return 0;
                
            return prear->data;
            }


            int myqueue::len()
            {
                
            return lenth;
            }


            bool myqueue::empty()
            {

                
            if(prear->next==prear)
                    
            return true;
                
            else
                    
            return false;
            }


            bool myqueue::full()//為了提高本模板的兼容性,故提供此函數,其實函數的返回值永遠不可能為1;
            {
                
            return false;
            }

            //endtemplate_by_abilitytao_ACM

            ////////////////////////////////////////////////////////////////////下面是測試數據////////////////////////////////////////////////////////////////////////////
            int main ()
            {

                myqueue test;
                
            int a=test.len();
                
            bool b=test.empty();
                test.push(
            1);
                test.push(
            2);
                a
            =test.front();
                a
            =test.rear();
                a
            =test.len();
                b
            =test.empty();
                b
            =test.full();
                a
            =test.pop();
                a
            =test.front();
                a
            =test.rear();
                a
            =test.pop();
                a
            =test.front();
                a
            =test.rear();

            }


            posted on 2009-03-02 21:00 abilitytao 閱讀(1637) 評論(0)  編輯 收藏 引用

            91久久精品91久久性色| 日韩美女18网站久久精品| 久久人人添人人爽添人人片牛牛| 久久精品免费全国观看国产| 中文字幕精品久久久久人妻| 亚洲va中文字幕无码久久不卡| 97超级碰碰碰久久久久| 久久久久久极精品久久久| 中文字幕乱码久久午夜| 国产综合免费精品久久久| 7777精品伊人久久久大香线蕉| 国产精品久久久久久| 欧美性大战久久久久久| 久久精品国产免费| 久久精品国产免费观看| 狠狠综合久久综合中文88| 看久久久久久a级毛片| 一本一本久久a久久精品综合麻豆| 久久精品国产亚洲AV无码偷窥| 久久久久这里只有精品| 77777亚洲午夜久久多喷| 99久久国产综合精品女同图片| 国内精品久久久久久麻豆| 久久美女网站免费| 国产产无码乱码精品久久鸭 | 婷婷久久综合| 99精品伊人久久久大香线蕉| 亚洲午夜久久久久妓女影院 | 久久男人AV资源网站| 免费观看成人久久网免费观看| 久久精品国产亚洲77777| 久久亚洲精品无码aⅴ大香| 性高湖久久久久久久久AAAAA| 青青热久久综合网伊人| 日韩欧美亚洲综合久久影院d3| 国产午夜精品久久久久免费视| 性欧美丰满熟妇XXXX性久久久| 久久久久久久女国产乱让韩| 伊人久久大香线蕉精品不卡| 蜜臀久久99精品久久久久久 | 精品久久久久久无码人妻热 |