С++ для начинающих


Алгоритм swap()


template< class Type >

void

swap ( Type &ob1, Type &ob2 );

swap() обменивает значения объектов ob1 и ob2.

#include <algorithm>

#include <vector>

#include <iostream.h>

/* печатается:

   исходная последовательность:

   3 4 5 0 1 2

   после применения swap() в процедуре пузырьковой сортировки:

   0 1 2 3 4 5

*/



          

int main()

{

           int ia[]  = { 3, 4, 5, 0, 1, 2 };

           vector< int, allocator > vec( ia, ia+6 );

                 

           for ( int ix = 0; ix < 6; ++ix )

                  for ( int iy = ix; iy < 6; ++iy ) {

                         if ( vec[iy] < vec[ ix ] )

                              swap( vec[iy], vec[ix] );

                  }

           ostream_iterator< int >  ofile( cout, " " );

     cout << "исходная последовательность:\n";

     copy( ia, ia+6, ofile ); cout << '\n';

     cout << "после применения swap() в процедуре "

          << "пузырьковой сортировки:\n";

     copy( vec.begin(), vec.end(), ofile ); cout << '\n';

}



Содержание раздела