• <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>
            Oo緣來是你oO


            人本是人,不必刻意去做人;世本是世,無須精心去處世;自然的才是快樂的。

            posts - 11,comments - 8,trackbacks - 0

            ? ? C++ Primer 學(xué)習(xí)札記??

            Ma Jia nan


            一 順序容器操作之插入(insert)
            ?
            向容器中插入元素有以下幾種形式:
            ?
            1) 最一般的形式:

            ?? vector<string> svec;
            ?? list<string> slist;

            ?? string s( "MaJianan" );
            ?? slist.insert( slist.begin(), s );
            ?? svec.insert( svec.begin(), s );

            insert()將第二個參數(shù)(要被插入的值)插入到第一個參數(shù)(指向容器中某個位置的iterator)指向的位置的前面。

            更為隨機(jī)的插入操作可以如下實(shí)現(xiàn):

            ?? string s1( "yuanlaishini" );
            ?? list<string>::iterator iter;

            ?? iter = find( slist.begin(), slist.end(), s1 );
            ?? slist.insert( iter, s1 );

            find()返回被查找元素在容器中的位置,如果查找失敗,返回end()iterator.
            ???
            //slist.push_back( value )等價于???
            slist.insert( slist.end(), value );

            ?

            2) 在某個位置插入指定數(shù)量的元素.
            ?? 例如,在vector的開始處插入10個MaJianan:

            ?? vector<string> svec;
            ?? string mjn( "MaJianan" );

            ?? svec.insert( svec.begin(), 10, mjn );

            ?

            3)向容器插入一段范圍內(nèi)的元素:

            ?string sa[3] = { "MaJianan", "yuanlaishini", "blog.sina.com.cn"};

            ? ?//插入數(shù)組中的全部元素
            ?? svec.insert( svec.begin(), sa, sa+3 );

            ? ?//插入數(shù)組中的部分元素
            ?? svec.insert( svec.begin() + svec.size()/2, sa+1, sa+3 );??

            ?

            4)通過一對iterator來標(biāo)記帶插入值的范圍,可以是另一個vector

            例一:
            ?? //插入svec中含有的元素,從svec2中間開始
            ?? svec2.insert( svec2.begin() + svec2.size()/2, svec.begin(), svec.end() );

            ?? 例二:
            ?? //把sevc中的元素插入到slist中sValue的前面
            ?? list<string> slist;
            ?? list<string>::iterator iter = find( slist.begin(), slist.end(), sValue );
            ?? slist.insert( iter, svec.begin(), svec.end() );


            二 順序容器操作之刪除(erase)

            1) 刪除單個元素

            list<string> slist;
            ... ...
            sting sValue( "yuanlaishini" );
            list<string>::iterator iter=find( slist.begin(), slist.end(), sValue );
            if( iter!=slist.end() )
            ????? ?slist.erase( iter );

            ?

            2) 刪除有一對iterator標(biāo)記的一段范圍內(nèi)的元素

            //刪除所有元素
            slist.erase( slist.begin(), slist.end() );

            //刪除部分元素
            例一:
            slist.erase( slist.begin()+slist.size()/2, slist.end() );

            例二:
            list<string>::iterator first, last;
            first=find( slist.begin(), slist.end(). value1);
            last=find( slist.begin(), slist.end(). value2);
            //檢驗(yàn)first和last的有效性
            slist.erase( first, last );


            3) 與push_back()相對應(yīng),pop_back()刪除容器的末尾元素。


            三 順序容器操作之賦值(=)和對換(swap)

            //slist1含有8個元素
            //slist2含有16個元素
            1)如果
            slist1 = slist2;
            ?
            ? slist1擁有與被拷貝容器相同的元素?cái)?shù)目---16.slist2有16個元素,沒有變化。
            ? slist1中原來的8個元素被刪除(調(diào)用string的析構(gòu)函數(shù))

            2)如果 slist1.swap( slist2 );
            ?
            ? slist1現(xiàn)在有16個元素,而slist2函數(shù)slist1中原有的8個元素的拷貝
            ? 如果兩個容器長度不同,則重置容器的長度?


            ?

            ?

            posted on 2006-09-14 10:07 馬嘉楠 閱讀(751) 評論(0)  編輯 收藏 引用 所屬分類: 【01】C++
            奇米影视7777久久精品人人爽| 精品久久久无码人妻中文字幕豆芽| 久久久精品免费国产四虎| 精品国产乱码久久久久久郑州公司 | 国产69精品久久久久9999APGF | 精品久久久久久无码人妻热| 精品国产一区二区三区久久久狼| 2021久久国自产拍精品| 久久夜色精品国产| 国产精品美女久久久久久2018| 久久97久久97精品免视看秋霞| 久久无码AV中文出轨人妻| 久久精品国产91久久综合麻豆自制 | 丁香五月综合久久激情| 久久只有这精品99| 亚洲乱亚洲乱淫久久| 精品综合久久久久久97| 成人国内精品久久久久影院VR | 欧美久久综合九色综合| 久久夜色精品国产噜噜亚洲a| 99精品久久精品| 久久精品国产亚洲AV高清热| 色悠久久久久久久综合网| 久久香蕉国产线看观看99| 日本强好片久久久久久AAA| 亚洲午夜久久久| 青青青青久久精品国产h| 亚洲中文字幕无码一久久区| 久久涩综合| 色综合久久88色综合天天 | 免费精品99久久国产综合精品| 国产成人无码久久久精品一| 国内精品伊人久久久久777| 久久频这里精品99香蕉久| 日产久久强奸免费的看| 免费精品久久久久久中文字幕| 精品国产综合区久久久久久| 久久久久国色AV免费看图片| 久久综合九色综合久99| 日本精品久久久久影院日本| 日本WV一本一道久久香蕉|