На этом шаге мы рассмотрим алгоритм реверсирования последовательности.
В данной программе используется алгоритм reverse(), который в диапазоне, заданном параметрами start и end, меняет порядок следования элементов на противоположный.
//--------------------------------------------------------------------------- #include <vcl.h> #include <iostream> #include <vector> #include <algorithm> #include <conio.h> //необходимо для getch() #pragma hdrstop //--------------------------------------------------------------------------- #pragma argsused using namespace std; std::string ToRus(const std::string &in) { char *buff = new char [in.length()+1]; CharToOem(in.c_str(),buff); std::string out(buff); delete [] buff; return out; } int main(int argc, char* argv[]) { vector<int> v; unsigned int i; for(i=0; i<10; i++) v.push_back(i); cout << ToRus("Исходная последовательность: "); for(i=0; i<v.size(); i++) cout << v[i] << " "; cout << endl; reverse(v.begin(), v.end()); cout << ToRus("Реверсированная последовательность: "); for(i=0; i<v.size(); i++) cout << v[i] << " "; getch(); return 0; } //---------------------------------------------------------------------------
Результаты выполнения этой программы представлены на рисунке 1.
Рис.1. Результат работы приложения
На следующем шаге мы рассмотрим алгоритм преобразования последовательности.