Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
18
Добавлен:
28.06.2014
Размер:
36.35 Кб
Скачать

Московский Энергетический Институт (Технический Университет)

Кафедра математического моделирования

Лабораторная работа №3

по ЯПиМТ

«Информационный поиск»

Выполнил: Козлачкова М.Ю.,

А-14-08

Проверил: Зубов В.С.

2010г.

Задание:

Бинарный поиск по заданному интервалу значений ключа. Находим два курсора, левый и правый, обозначающие границы выявляемой группы записей. Они находятся вне группы.

Текст функции:

int Search2(struct tip z[], int n,int Arg1,int Arg2, int Gn, int &Gv)

{

int g1, g2, i, j, k;

int ng, vg;

ng = vg = 100000;

if (ng==100000)

{g1 = 0;

g2 = n;

}

else

{

g1 = ng;

g2 = vg + 1;

}

if (g1 >= g2)

exit;

k = g2;

i = g1;

do

{

j = (i + k)/2;

if (z[j].key > Arg2)

k = j;

else

i = j + 1;

}

while (i!=k);

Gv = k;

if (k==g1)

{

Gn = Gv - 1;

exit;

}

k--;

i = g1 - 1;

do

{

j = (i + k + 1)/2;

if (z[j].key < Arg1)

i = j;

else

k = j - 1;

}

while (i!=k);

Gn = i;

return Gn;

}

Графики:

n – число элементов в массиве структур;

m – число элементов в дополнительном массиве в структуре.

Соседние файлы в папке ЛЗ3