// vector を並べ替え(降順2) // functional の greater<T>( ) を使用 #include <iostream> #include <algorithm> #include <functional> #include <vector> using namespace std; int main( ) { cout << "[vector10a] sort(降順2) vector" << endl ; vector<int> iVec; cout << "vector size = " << iVec.size( ) << endl ; iVec.push_back( 7 ); iVec.push_back( 9 ); iVec.push_back( 8 ); cout << "vector size = " << iVec.size( ) << endl ; for ( vector<int>::iterator i = iVec.begin( ) ; i != iVec.end( ) ; i++ ) { cout << *i << endl ; } vector<int>::iterator first = iVec.begin( ); vector<int>::iterator last = iVec.end( ); sort( first, last, greater<int>( ) ); cout << "vector size = " << iVec.size( ) << endl ; for ( i = iVec.begin( ) ; i != iVec.end( ) ; i++ ) { cout << *i << endl ; } cout << "size( ) = " << iVec.size( ) << endl ; cout << "max_size( ) = " << iVec.max_size( ) << endl ; cout << "capacity( ) = " << iVec.capacity( ) << endl ; return 0; } // functional を利用すれば簡単。 // 降順の場合は 関数オブジェクトに greater<型>( ) を指定する // end of file