Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
lekcija-12.pdf
Скачиваний:
28
Добавлен:
10.02.2016
Размер:
367.6 Кб
Скачать

int main()

{const int n=10; int s[n];

int find, i;

for ( i=0; i<n; i++) s[i] = i*10; //заполнение массива числами for ( i=0; i<n; i++) cout << setw (4) << s[i]; //вывод массива cout<<endl;

cout << "\n value of find: "; cin >> find;//ввод числа для поиска int res=poisk(s, n, find);

if (res==-1)

cout << "\nno element";

else

 

cout << "\nelement nomer " << res;

 

cout << endl;

 

 

_getch();

 

}

return 0;

 

int poisk(int *mas, int n, int find)

{

int left = 0, right = n-1, mid = 0;

 

 

while (left <= right)

 

 

{mid = (left+right+1)/2;

 

if (mas[mid] > find)

right = mid-1;

 

else if (mas[mid] < find)

left = mid+1;

 

else break;

 

 

}

 

if (mas[mid] == find) return mid;

else return -1;

}

Сортировка массивов

Сортировка – это процесс упорядочения некоторой последовательности нумерованных объектов в соответствии с заданным признаком. Цель сортировки – облегчить последующий поиск элементов в отсортированной последовательности.

При решении задачи сортировки обычно выдвигается требование минимального использования дополнительной памяти, т.е. в частности, недопустимость применения дополнительных массивов. Для оценки быстродействия алгоритмов различных методов сортировки, как правило, используют два показателя: количество присваиваний и количество сравнений.

Все методы сортировки можно разделить на две большие группы: прямые методы сортировки и улучшенные методы сортировки. Прямые методы сортировки по принципу, лежащему в основе метода, подразделяются на три подгруппы:

сортировка обменом («пузырьковая» сортировка); сортировка вставкой (включением); сортировка выбором (выделением).

Прямые методы на практике используются довольно редко, так как имеют относительно низкое быстродействие. Однако они хорошо показывают суть основанных на них улучшенных методов. В то же время, в некоторых случаях (как правило, при небольшой длине массива и/или особом исходном расположении элементов массива) некоторые из прямых методов могут даже превзойти улучшенные методы). Улучшенные методы сортировки, основываясь на тех же принципах, что и прямые, используют некоторые оригинальные идеи для ускорения процесса сортировки. С точки зрения

программиста наибольший интерес представляют сортировки массивов, строк, файлов.

Программирование – лекция 12 (лекции Стрикелевой Л.В.)

20

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]