СДЕЛАЙТЕ СВОИ УРОКИ ЕЩЁ ЭФФЕКТИВНЕЕ, А ЖИЗНЬ СВОБОДНЕЕ

Благодаря готовым учебным материалам для работы в классе и дистанционно

Скидки до 50 % на комплекты
только до

Готовые ключевые этапы урока всегда будут у вас под рукой

Организационный момент

Проверка знаний

Объяснение материала

Закрепление изученного

Итоги урока

Алгоритм Find библиотeка STL C++

Категория: Информатика

Нажмите, чтобы узнать подробности

Просмотр содержимого документа
«Алгоритм Find библиотeка STL C++»

Алгоритмы ( alghorithm)  Алгоритмы – шаблонные функции, которые работают с контейнерам через итераторы.  Обычно алгоритм получает в качестве параметров начало и конец обрабатываемой последовательности.  Разным алгоритмам требуются разные типы итераторов, например, сортировка требует итератор произвольного доступа (поэтому работает только с векторами и деками), а копирование – прямой итератор.

Алгоритмы ( alghorithm)

Алгоритмы – шаблонные функции, которые работают с контейнерам через итераторы.

Обычно алгоритм получает в качестве параметров начало и конец обрабатываемой последовательности.

Разным алгоритмам требуются разные типы итераторов, например, сортировка требует итератор произвольного доступа (поэтому работает только с векторами и деками), а копирование – прямой итератор.

Алгоритмы Алгориты делятся на несколько категорий:  немодифицирующие алгоритмы (не изменяющие порядок следования элементов в контейнере) – count, count_if, find, find_if и др.;  модифицирующие алгоритмы (изменяющие порядок следования элементов в контейнере) - copy, replace, reverse, swap (обмен местами двух элементов) и др.;  алгоритмы сортировки и поиска (упорядочивание, поиск, слияние и т.д.) – merge, sort, stable_sort (сохраняет порядок для одинаковых элементов), partial_sort (частичная сортировка), max_element и др.;  алгоритмы работы с множествами – accumulate, includes set_intersection set_difference и др.

Алгоритмы

Алгориты делятся на несколько категорий: немодифицирующие алгоритмы (не изменяющие порядок следования элементов в контейнере) – count, count_if, find, find_if и др.; модифицирующие алгоритмы (изменяющие порядок следования элементов в контейнере) - copy, replace, reverse, swap (обмен местами двух элементов) и др.; алгоритмы сортировки и поиска (упорядочивание, поиск, слияние и т.д.) – merge, sort, stable_sort (сохраняет порядок для одинаковых элементов), partial_sort (частичная сортировка), max_element и др.; алгоритмы работы с множествами – accumulate, includes set_intersection set_difference и др.

v ( A , A + 6 ); // копируем массив в вектор   if ( find ( v . begin (), v . end (), 49 ) ! = v . end ()) cout // используем алгоритм find else cout      return 0 ; } " width="640"

Примеры алгоритмов для вектора. Поиск элемента в интервале .

1 2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

#include // Используем алгоритм

# include

#include // используем вектор

 

using namespace std ;

int main ( void )

{

int A [] = { 1 , 2 , 3 , 4 , 49 , 100 }; // массив для записи в вектор значений

vector int v ( A , A + 6 ); // копируем массив в вектор

 

if ( find ( v . begin (), v . end (), 49 ) ! = v . end ()) cout // используем алгоритм find

else cout

 

   return 0 ;

}

Алгоритм Find Достаточно простой алгоритм для понимания. В алгоритм передается две точки  v . begin  и  v . end , которые обозначают точку старта и точку финиша поиска. Между этими точками некоторый диапазон, в котором находятся разные значения.

Алгоритм Find

  • Достаточно простой алгоритм для понимания. В алгоритм передается две точки  v . begin  и  v . end , которые обозначают точку старта и точку финиша поиска. Между этими точками некоторый диапазон, в котором находятся разные значения.
v(A,A+6);   int i = find(v.begin(), v. end (), 49) - v.begin();     // используем алгоритм find для поиска индекса      cout   return 0; 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 #include #include #include   using namespace std ; int main ( void ) { int A [] = { 1 , 2 , 3 , 4 , 49 , 100 , 49 }; vector int v ( A , A + 6 );   int i = find ( v . begin (), v . end (), 49 ) - v . begin ();      // используем алгоритм find для поиска индекса      cout    return 0 ; } " width="640"

С помощью алгоритма  find  можно узнать индекс найденного элемента

  • using namespace std;
  • int main( void )
  • {
  • int A[]={1,2,3,4,49,100,49};
  • vectorint v(A,A+6);
  •  
  • int i = find(v.begin(), v. end (), 49) - v.begin();     // используем алгоритм find для поиска индекса
  •      cout
  •    return 0;

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

#include

#include

#include

 

using namespace std ;

int main ( void )

{

int A [] = { 1 , 2 , 3 , 4 , 49 , 100 , 49 };

vector int v ( A , A + 6 );

 

int i = find ( v . begin (), v . end (), 49 ) - v . begin ();      // используем алгоритм find для поиска индекса

     cout

   return 0 ;

}