1.10. Алгоритмы replace и reverse

Алгоритм replace, упомянутый в таблице раздела 1.9, позволяет нам найти все элементы с определенным значением в заданном контейнере и заменить их другим значением. Следующая программа служит иллюстрацией сказанного:

// replace.срр:   Замена элементов последовательности. #include <iostream> #include <string> #include <algorithm> using namespace  std;

int main()

{    char str[]   =   "abcabcabc";

int n =  strlen(str);

replace(str, str+n, 'b', 'q');

cout « str << endl;

return 0; }

Программа заменяет все элементы массива str, равные Ъ', на 'q, так что вывод этой программы будет следующим:

aqcaqcaqc

Алгоритм reverse, также упомянутый в таблице из раздела 1.9, позволяет легко заменить последовательность на обратную ей. Согласно этой табли­це он требует двунаправленных итераторов, которые, как мы знаем, предо­ставляют все четыре контейнера. Давайте продемонстрируем этот алго­ритм снова с использованием массива.

//  reverse.срр:   Замена строки на обратную ей. #include <iostream> #include <string> #include <algorithm> using namespace  std;

int main()

{ char str[] = "abcklmxyz";

reverse(str, str+strlen(str));

cout « str « endl;  // Будет выведено: zyxmlkcba

return 0; }


<< назад вперед >>