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

            C++研究

            C++細(xì)節(jié)深度探索及軟件工程

              C++博客 :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
              37 隨筆 :: 0 文章 :: 74 評(píng)論 :: 0 Trackbacks
            #include "stdafx.h"
            #include 
            <iostream>
            #include 
            <map>
            #include 
            <sstream>
            using namespace std;

            #pragma warning (disable:
            4305)

            typedef map
            <intfloat> FloatMap;
            typedef FloatMap::iterator FloatMapIter;
            typedef FloatMap::const_iterator FloatMapCIter;
            int main()
            {
                FloatMap _map1, _map2;
                _map1[
            1= 0.01;
                _map1[
            3= 0.03;
                _map1[
            4= 0.04;
                _map1[
            5= 0.05;
                _map1[
            7= 0.07;
                _map1[
            101= 0.101;
                _map1[
            109= 0.109;

                _map2[
            1= 0.01;
                _map2[
            4= 0.04;
                _map2[
            5= 0.05;
                _map2[
            7= 0.07;
                _map2[
            101= 0.101;
                _map2[
            103= 0.103;
                _map2[
            108= 0.108;

                FloatMapCIter it1 
            = _map1.begin();
                FloatMapCIter it2 
            = _map2.begin();

                FloatMapCIter it22 
            = _map2.begin();
                FloatMapCIter it11 
            = _map1.begin();
                ostringstream os1; 
            //fenzi
                ostringstream os11; //fenmu1
                ostringstream os22; //fenmu2

                
            //是否有公共部分
                int flag = 0;

                
            while(it1 != _map1.end())
                
            {
                    
            int id = (*it1).first;
                    
            float v1 = (*it1).second;

                    
            while( it22 != _map2.end() && (*it22).first < id) ++it22;

                    
            if( it22 == _map2.end())
                    
            {
                        
            break;
                    }


                    
            if( (*it22).first == id )
                    
            {
                        
            //有公共部分
                        flag = 1;
                        os1 
            << (*it22).first <<  "  "//fenzi
                        cout << (*it22).second << "*" << v1 << endl;
                        it22
            ++;
                    }

                    
            //it2 -- it22
                    FloatMapCIter itemp = it2;
                    
            while( itemp != it22)
                    
            {
                        os22 
            << (*itemp).first << "  " ; //fenmu
                        ++itemp;
                    }

                    it2 
            = it22;
                    
                    
            int id2 = (*it2).first;
                    
            float v2 = (*it2).second;
                    
            while( it11 != _map1.end() && (*it11).first < id2)
                    
            {
                        
            ++it11;
                    }


                    
            if ( it11 == _map1.end())
                    
            {
                        
            break;
                    }


                    
            if( (*it11).first == id2 )
                    
            {
                        
            //有公共部分
                        flag = 1;
                        os1 
            << (*it11).first << "  "//fenzi
                        cout << (*it11).second << "*" <<  v2 << "  ";
                        it11
            ++;
                    }

                    itemp 
            = it1;
                    
            while( itemp != it11)
                    
            {
                        os11 
            << (*itemp).first << "  " ; //fenmu
                        ++itemp;
                    }
                
                    it1 
            = it11;    

                }
            //while

                
            //是否有公共部分
                if (flag == 1)
                
            {
                    
            while( it2 != _map2.end() )
                    
            {
                        os22 
            << (*it2).first << "  " ; //fenmu
                        ++it2;
                    }


                    
            while( it1 != _map1.end() )
                    
            {
                        os11 
            << (*it1).first << "  " ; //fenmu
                        ++it1;
                    }

                }

                
            else
                
            {
                    
            return 0;
                }

                
                    
                


                cout 
            << "Common:" << os1.str() << endl;
                cout 
            << "fenmu:" << os11.str() << endl;
                cout 
            << "fenmu:" << os22.str() << endl;

                system(
            "pause");

                
            return 0;
            }
            posted on 2008-01-15 21:12 常興龍 閱讀(2176) 評(píng)論(1)  編輯 收藏 引用 所屬分類: STLAlgorithmACM

            評(píng)論

            # re: 求有序序列公共部分(集合交集的O(n)復(fù)雜度求法) 2014-04-10 15:34 黃智
            取交集可不是這么取的吧?一趟循環(huán)即可!  回復(fù)  更多評(píng)論
              

            > hi的博客
            www.久久99| 香蕉久久永久视频| 久久精品国产乱子伦| 久久无码一区二区三区少妇 | 精品视频久久久久| 中文字幕亚洲综合久久2| 国产精品久久波多野结衣| 色婷婷综合久久久中文字幕| 久久亚洲AV无码精品色午夜麻豆| 精品久久久久久无码不卡| 久久精品国产亚洲AV忘忧草18 | 久久精品国产亚洲av影院| 久久综合亚洲色一区二区三区| 久久天堂AV综合合色蜜桃网| 久久久久久a亚洲欧洲aⅴ| 久久国产免费观看精品| 国产精品永久久久久久久久久| 久久久WWW成人免费毛片| 久久人人爽人爽人人爽av | 亚洲欧美日韩中文久久| 久久久一本精品99久久精品88| 国产精品久久国产精品99盘| 久久99久久无码毛片一区二区| 伊人久久大香线蕉综合网站| 久久棈精品久久久久久噜噜| 伊人色综合久久天天| 亚洲精品99久久久久中文字幕 | 久久久无码精品亚洲日韩蜜臀浪潮| 国产精品99久久免费观看| 亚洲午夜久久久久久久久久| 亚洲AV成人无码久久精品老人| 久久久久久免费一区二区三区| 久久996热精品xxxx| 伊人久久精品无码av一区| 精品久久久久久| 囯产极品美女高潮无套久久久| 国产精品一区二区久久国产| 久久99热这里只有精品国产 | 久久99精品久久久久久噜噜| 99蜜桃臀久久久欧美精品网站 | 91精品日韩人妻无码久久不卡 |