14.ʹÓõü´úÆ÷±àд³ÌÐò£¬´Ó±ê×¼ÊäÈëÉ豸¶ÁÈëÈô¸Éstring¶ÔÏ󣬲¢½«ËüÃÇ´æ´¢ÔÚÒ»¸övector¶ÔÏóÖУ¬È»ºóÊä³ö¸Ãvector¶ÔÏóÖеÄËùÓÐÔªËØ¡£
// 11.15_9.14_vector_string.cpp : ¶¨Òå¿ØÖÆÌ¨Ó¦ÓóÌÐòµÄÈë¿Úµã¡£ //
#include \#include #include #include using namespace std;
int _tmain(int argc, _TCHAR* argv[]) { cout << \ << endl; vector strVec; string str; while ( cin >> str ) { strVec.push_back( str ); } cout << \; for ( vector::iterator it = strVec.begin(); it != strVec.end(); ++it ) { cout << *it << endl; } system(\); return 0; }
15.ÓÃlistÈÝÆ÷ÀàÐÍÖØÐ´Ï°Ìâ9.14µÃµ½µÄ³ÌÐò£¬Áгö¸Ä±äÁËÈÝÆ÷ÀàÐͺóÒª×öµÄÐ޸ġ£ // 11.15_9.15_list_string.cpp : ¶¨Òå¿ØÖÆÌ¨Ó¦ÓóÌÐòµÄÈë¿Úµã¡£ //
#include \#include
#include #include using namespace std;
int _tmain(int argc, _TCHAR* argv[]) { cout << \ << endl; list strLst; string str; while ( cin >> str ) { strLst.push_back( str ); } cout << \; for ( list::iterator it = strLst.begin(); it != strLst.end(); ++it ) { cout << *it << endl; } system(\); return 0; }
16.intÐ͵ÄvectorÈÝÆ÷Ó¦¸ÃʹÓÃʲôÀàÐ͵ÄË÷Òý£¿ ʹÓà vector::size_typeµÄË÷Òý¡£
17.¶ÁÈ¡´æ·Åstring¶ÔÏóµÄlistÈÝÆ÷ʱ£¬Ó¦¸ÃʹÓÃʲôÀàÐÍ£¿ ʹÓà list::iterator it, ½øÐÐË÷Òý£¬È»ºó½âÒýÓà *it. »òÕßʹÓà list::const_iterator ÀàÐ͵ĵü´úÆ÷¡£ ÈôÏëʵÏÖÄæÐò¶ÁÈ¡£¬Ôò¿ÉʹÓÃ
list::reverse_iterator ºÍ list::const_reverse_iterator µü´úÆ÷¡£
18.±àд³ÌÐò½«intÐ͵ÄlistÈÝÆ÷µÄËùÓÐÔªËØ¸´ÖƵ½Á½¸ödequeÈÝÆ÷ÖС£listÈÝÆ÷µÄÔªËØÈç¹ûΪżÊý£¬Ôò¸´ÖƵ½Ò»¸ödequeÈÝÆ÷ÖУ»Èç¹ûÎªÆæÊý£¬Ôò¸´ÖƵ½ÁíÒ»¸ödequeÈÝÆ÷Àï¡£ // 11.15_9.18_list_to_deque.cpp : ¶¨Òå¿ØÖÆÌ¨Ó¦ÓóÌÐòµÄÈë¿Úµã¡£ //
#include \#include #include #include using namespace std;
int _tmain(int argc, _TCHAR* argv[]) { cout << \ << endl; list iLst; int iVal; while ( cin >> iVal ) { iLst.push_back( iVal ); } deque iOddDeque, iEvenDeque; for ( list::iterator it = iLst.begin(); it != iLst.end(); ++it ) { if ( *it % 2 == 0 ) { iEvenDeque.push_back( *it ); } else if ( *it % 2 == 1 ) { iOddDeque.push_back( *it ); } } cout << \ << endl; for ( deque::iterator it = iOddDeque.begin(); it != iOddDeque.end(); ++it ) { cout << *it << \ \; } cout << \ << endl; for ( deque::iterator it = iEvenDeque.begin(); it != iEvenDeque.end(); ++it ) { cout << *it << \ \;
}
}
system(\); return 0;
19.¼ÙÉèivÊÇÒ»¸öintÐ͵ÄvectorÈÝÆ÷£¬ÏÂÁгÌÐò´æÔÚʲô´íÎó£¿ÈçºÎ¸ÄÕýÖ®¡£ vector::iterator mid = iv.begin() + iv.end()/2; while ( vector::iterator iter != mid ) if ( iter == some_val ) it.insert ( iter, 2 * some_val );
£¨1£©µ±Ö´ÐÐit.insert²Ù×÷Ö®ºó£¬µü´úÆ÷ mid ¾ÍʧЧÁË£¬ÊÇÒòΪ iv.end() ʧЧÁË¡£ £¨2£©µü´úÆ÷iterûÓгõʼ»¯£»
£¨3£©ifÓï¾äÖдíÎó£¬ÒòΪ if ( *iter == some_val ) ¿É¸ÄΪ£º
vector::iterator iter = iv.begin(); while ( iter != iv.begin() + iv.end() / 2 ) { if ( *iter == some_val ) { it.insert ( iter, 2 * some_val ); iter += 2; // important } else ++iter; }
20.±àд³ÌÐòÅжÏÒ»¸övectorÈÝÆ÷Ëù°üº¬µÄÔªËØÊÇ·ñÓëÒ»¸ölistÈÝÆ÷µÄÍêÈ«Ïàͬ¡£ // 11.15_9.20_compare_list_and_vector.cpp : ¶¨Òå¿ØÖÆÌ¨Ó¦ÓóÌÐòµÄÈë¿Úµã¡£ //
#include \#include #include #include using namespace std;