sasz = sizeof sa / sizeof *sa

Автор admin Среда, 27 мая 2009 11:32

sasz = sizeof sa / sizeof *sa: vector ns(sa. sa + sasz); print(ns.beginO. ns.endO. “ns”. ” “); vector:iterator it = partition(ns.beginO, ns.endO. bi nd2nd(greater(). “b”)): cout « “Partition point: ” « *it « endl; print(ns.beginO. ns.endO. “”. ” “): Каталог алгоритмов STL 293 // Повторная загрузка вектора: copy (sa, sa + sasz, ns.beginO): it = stable_partition(ns.beginO, ns.endO. bind2nd(greater(). “b”)): cout « “Stable partition” « endl: cout « “Partition point: ” « *it « endl; print(ns.beginO, ns.endO, “”, ” “); } ///:- Чтобы увидеть, как работает эта программа, проще всего запустить ее (вероятно, с перенаправлением вывода в файл). Сначала мы загружаем вектор vector vl простой возрастающей последовательностью и выводим его. Вы увидите, что алгоритм copy_backward() (который копирует данные в вектор v2, по размеру равный vl) приводит к тому же результату, что и обычное копирование алгоритмом сору(), — просто операция выполняется в обратном порядке1. Алгоритм reverse_copy() создает копию исходного интервала с элементами, переставленными в обратном порядке, а ал


Комментарии закрыты.