Инструменты пользователя

Инструменты сайта


linejnyj_poisk

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

linejnyj_poisk [2010/09/02 07:34] (текущий)
Строка 1: Строка 1:
 +====== Линейный поиск ======
 +Рассмотрим наиболее простой из способов поиска данных - линейный поиск.
  
 +Данный алгоритм сравнивает каждый элемент массива с ключом,​ предоставленным для поиска. Наш эксперементальный массив не упорядочен и, может сложиться ситуация,​ при которой отыскиваемое значение окажется первым в массиве. Но, в общем и целом, программа,​ реализующая линейный поиск, сравнит с ключом поиска половину элементов массива. ​
 +<​file>​
 +#include <​iostream>​
 +
 +using namespace std;
 +
 +int LinearSearch (int array[], int size, int key){
 +   ​for(int i=0;​i<​size;​i++)
 +       ​if(array[i] == key)
 +           ​return i;
 +   ​return -1;
 +}
 +
 +void main()
 +{
 +   const int arraySize=100;​
 +   int a[arraySize],​ searchKey, element;
 +   ​for(int x=0;​x<​arraySize;​x++)
 +           ​a[x]=2*x;​
 +
 + //​Следующая строка выводит на экран сообщение
 + //​Введите ключ поиска:​
 + cout<<"​Please,​ enter the key:  ";
 + cin>>​searchKey;​
 + element=LinearSearch(a,​ arraySize, searchKey);
 +
 + if(element!=-1)
 + //​Следующая строка выводит на экран сообщение
 + //​Найдено значение в элементе ​
 +        cout<<"​\nThe key was found in element "<<​element<<'​\n';​
 +
 + //​Следующая строка выводит на экран сообщение
 + //​Значение не найдено
 +
 + else 
 + cout<<"​\nValue not found ";
 +
 +}
 +</​file>​
 +
 +
 +<note important>​Заметим,​ что алгоритм линейного поиска отлично работает только для небольших или неупорядоченных массивов и является абсолютно надежным.</​note>​
linejnyj_poisk.txt · Последние изменения: 2010/09/02 07:34 (внешнее изменение)