rndshuf2.cpp

#include ‹stl.h›

#include ‹stdlib.h›

#include ‹iostream.h›

class MyRandomGenerator {

public:

 nsigned long operator()(unsigned long n_);

};

unsigned long MyRandomGenerator::operator()(unsigned long n_) {

 return rand() % n_;

}

int main() {

 vector‹int› v1(10);

 iota(v1.begin(), v1.end(), 0);

 ostream_iterator ‹int› iter(cout, ' ');

 copy(v1.begin(), v1.end(), iter);

 cout ‹‹ endl;

 MyRandomGenerator r;

 for (int i = 0; i ‹ 3; i++) {

  random_shuffle(v1.begin(), v1.end(), r);

  copy(v1.begin(), v1.end(), iter);

  cout ‹‹ endl;

 }

 return 0;

}

merge2.cpp

#include ‹stl.h›

#include ‹iostream.h›

int main() {

 vector‹int› v1(5);

 vector‹int› v2(v1.size());

 for (int i = 0; i ‹ v1.size(); i++) {

  v1[i] = 10 - i;

  v2[i] = 7 - i;

 }

 vector‹int› result(v1.size() + v2.size());

 merge(v1.begin(), v1.end(), v2.begin(), v2.end(), result.begin(), greater‹int›());

 ostream_iterator ‹int› iter(cout, ' ');

 copy(v1.begin(), v1.end(), iter);

 cout ‹‹ endl;

 copy(v2.begin(), v2.end(), iter);

 cout ‹‹ endl;

 copy(result.begin(), result.end(), iter);

 cout ‹‹ endl;

 return 0;

}

adjfind1.cpp

#include ‹stl.h›

#include ‹iostream.h›

int main() {

 typedef vector‹int› IntVector;

 IntVector v(10);

 for (int i = 0; i ‹ v.size(); i++) v[i] = i;

 IntVector::iterator location;

 location = adjacent_find(v.begin(), v.end());

 if (location != v.end()) cout ‹‹ 'Found adjacent pair of: ' ‹‹ *location ‹‹ endl;

 else cout ‹‹ 'No adjacent pairs' ‹‹ endl;

 v[6] = 7;

 location = adjacent_find(v.begin(), v.end());

 if (location!= v.end())  cout ‹‹ 'Found adjacent pair of: ' ‹‹ *location ‹‹ endl;

 else cout ‹‹ 'No adjacent pairs' ‹‹ endl;

 return 0;

}

vec7.cpp

#include ‹iostream.h›

#include ‹stl.h›

int array1[] = {1, 4, 25};

int array2[] = {9, 16};

int main() {

 vector‹int› v(array1, array1 + 3);

 v.insert(v.begin(), 0); // Insert before first element.

 v.insert(v.end(), 36); // Insert after last element.

 for (int i = 0; i ‹ v.size(); i++) cout ‹‹ 'v[' ‹‹ i ‹‹ '] = ' ‹‹ v[i] ‹‹ endl;

 cout ‹‹ endl;

 // Insert contents of array2 before fourth element.

 v.insert(v.begin() + 3, array2, array2 + 2);

 for (i = 0; i ‹ v.size(); i++)

 cout ‹‹ 'v[' ‹‹ i ‹‹ '] = ' ‹‹ v[i] ‹‹ endl;

 cout ‹‹ endl;

Добавить отзыв
ВСЕ ОТЗЫВЫ О КНИГЕ В ИЗБРАННОЕ

0

Вы можете отметить интересные вам фрагменты текста, которые будут доступны по уникальной ссылке в адресной строке браузера.

Отметить Добавить цитату