개요
array
vector
list
deque
set
unordered_set
multiset
map
multimap
unordered_map
예제
코드
#include <array>
#include <deque>
#include <iostream>
#include <list>
#include <map>
#include <set>
#include <string>
#include <unordered_map>
#include <unordered_set>
#include <utility>
#include <vector>
using namespace std ;
class Test {
private:
int i ;
public:
Test ( int i ) : i ( i ) {}
bool operator < ( const Test & test ) const { return this -> i < test . i ; }
friend ostream & operator << ( ostream & o , const Test & test );
};
ostream & operator << ( ostream & o , const Test & test ) {
o << test . i ;
return o ;
}
int main () {
array < int , 3 > arr = { 1 , 2 , 3 };
cout << arr [ 0 ] << endl ;
cout << arr . at ( 1 ) << endl ;
cout << arr . size () << endl ;
for ( const auto & iter : arr ) {
cout << "array : " << iter << endl ;
}
cout << "------" << endl ;
vector < int > v ;
v . clear ();
v . push_back ( 1 );
v . push_back ( 2 );
v . push_back ( 4 );
v . insert ( v . begin () + 2 , 3 );
cout << v [ 0 ] << endl ;
cout << v . at ( 0 ) << endl ;
for ( auto iter = v . begin (); iter != v . end (); ++ iter ) {
cout << "vector-1 : " << * iter << endl ;
}
v . erase ( v . end () - 1 );
for ( const auto & iter : v ) {
cout << "vector-2 : " << iter << endl ;
}
cout << "vector size : " << v . size () << endl ;
cout << "------" << endl ;
list < double > l ;
l . clear ();
l . push_back ( 1.1 );
l . push_back ( 2.2 );
for ( const auto & iter : l ) {
cout << "list : " << iter << endl ;
}
cout << "------" << endl ;
deque < char > d ;
d . clear ();
d . push_back ( 'b' );
d . push_front ( 'a' );
for ( const auto & iter : d ) {
cout << "deque : " << iter << endl ;
}
cout << "------" << endl ;
set < string > s1 ;
s1 . clear ();
s1 . insert ( "ccc" );
s1 . insert ( "aaa" );
s1 . insert ( "bbb" );
s1 . insert ( "aaa" );
for ( const auto & iter : s1 ) {
cout << "set-1 : " << iter << endl ;
}
if ( s1 . find ( "aaa" ) != s1 . end ()) {
cout << "exist" << endl ;
}
set < Test > s2 ;
s2 . clear ();
s2 . insert ( Test ( 2 ));
s2 . insert ( Test ( 1 ));
s2 . insert ( Test ( 2 ));
for ( const auto & iter : s2 ) {
cout << "set-2 : " << iter << endl ;
}
cout << "------" << endl ;
multiset < int > ms ;
ms . clear ();
ms . insert ( 1 );
ms . insert ( 1 );
ms . insert ( 2 );
for ( const auto & iter : ms ) {
cout << "multiset : " << iter << endl ;
}
cout << "------" << endl ;
unordered_set < string > s3 ;
s3 . clear ();
s3 . insert ( "ccc" );
s3 . insert ( "aaa" );
s3 . insert ( "bbb" );
for ( const auto & iter : s3 ) {
cout << "unordered_set : " << iter << endl ;
}
cout << "------" << endl ;
map < int , bool > m ;
m . clear ();
m . insert ( make_pair ( 2 , true ));
m [ 0 ] = true ;
m [ 0 ] = false ;
m [ 1 ] = true ;
for ( const auto & iter : m ) {
cout << "map : " << iter . first << ", " << iter . second << endl ;
}
if ( m . find ( 3 ) == m . end ()) {
cout << "not exist" << endl ;
}
cout << "------" << endl ;
multimap < int , bool > mm ;
mm . clear ();
mm . insert ( make_pair ( 0 , true ));
mm . insert ( make_pair ( 0 , false ));
mm . insert ( make_pair ( 2 , true ));
for ( const auto & iter : mm ) {
cout << "multimap-1 : " << iter . first << ", " << iter . second << endl ;
}
auto er = mm . equal_range ( 0 );
for ( auto iter = er . first ; iter != er . second ; ++ iter ) {
cout << "multimap-2 : " << iter -> first << ", " << iter -> second << endl ;
}
cout << "------" << endl ;
unordered_map < int , bool > um ;
um . clear ();
um . insert ( make_pair ( 2 , true ));
um [ 0 ] = false ;
um [ 1 ] = true ;
for ( const auto & iter : um ) {
cout << "unordered_map : " << iter . first << ", " << iter . second << endl ;
}
return 0 ;
}
실행 결과
1
2
3
array : 1
array : 2
array : 3
------
1
1
vector-1 : 1
vector-1 : 2
vector-1 : 3
vector-1 : 4
vector-2 : 1
vector-2 : 2
vector-2 : 3
vector size : 3
------
list : 1.1
list : 2.2
------
deque : a
deque : b
------
set-1 : aaa
set-1 : bbb
set-1 : ccc
exist
set-2 : 1
set-2 : 2
------
multiset : 1
multiset : 1
multiset : 2
------
unordered_set : bbb
unordered_set : aaa
unordered_set : ccc
------
map : 0, 0
map : 1, 1
map : 2, 1
not exist
------
multimap-1 : 0, 1
multimap-1 : 0, 0
multimap-1 : 2, 1
multimap-2 : 0, 1
multimap-2 : 0, 0
------
unordered_map : 1, 1
unordered_map : 0, 0
unordered_map : 2, 1
Tags:
array ,
C++ ,
deque ,
list ,
map ,
multimap ,
multiset ,
programming-language ,
set ,
STL ,
unordered_map ,
unordered_set ,
vector
Categories:
C++ ,
programming-language
Updated: August 14, 2022