Алгоритмы. Реверсирование последовательности

   
На этом шаге мы рассмотрим алгоритм реверсирования последовательности.

   
В данной программе используется алгоритм 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. Результат работы приложения

   
На следующем шаге мы рассмотрим алгоритм преобразования последовательности.



Вы можете оставить комментарий, или Трекбэк с вашего сайта.

Оставить комментарий