// vector を並べ替え(昇順)
// algorithm の sort を使用(デフォルトは昇順)


#include <iostream>
#include <algorithm>
#include <vector>

using namespace std;

int
main( ) {
	cout << "[vector09] sort 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 );

	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;
}


//	sort( ) の第2引数は、ソート領域の最終要素+1 のイテレータで
//	あることに注意。
//	C言語のqsort( ) では比較関数を作成する必要がありましたが、
//	別に作らなくてもいいです。作ってもいいけど。


// end of file