Главная Случайная страница


Полезное:

Как сделать разговор полезным и приятным Как сделать объемную звезду своими руками Как сделать то, что делать не хочется? Как сделать погремушку Как сделать так чтобы женщины сами знакомились с вами Как сделать идею коммерческой Как сделать хорошую растяжку ног? Как сделать наш разум здоровым? Как сделать, чтобы люди обманывали меньше Вопрос 4. Как сделать так, чтобы вас уважали и ценили? Как сделать лучше себе и другим людям Как сделать свидание интересным?


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






Линейный выбор





 

Для сортировки исходного вектора A, содержащего n элементов, необходимо n раз просмотреть элементы исходного вектора и сформировать полученный упорядоченный вектор B. При каждом просмотре находится минимальный элемент вектора и помещается в упорядоченный список.

При первом просмотре находим минимальный элемент вектора A и помещает его в первую позицию вектора B. В исходном векторе минимальный элемент заменяется фиктивной величиной, заведомо большей всех элементов вектора.

При втором просмотре опять находим минимальный элемент вектора A и помещаем его во вторую позицию вектора B. В исходном векторе A минимальный элемент снова заменяется фиктивной величиной, заведомо большей всех элементов вектора.

После n просмотров исходный вектор A будет состоять из фиктивных величин, а вектор B – из упорядоченных элементов исходного вектора A.

Просмотр Исходный вектор А Полученный вектор B
1-ый 2 4 8 5 6 1 2 4 8 5 6 99 1
2-ой 2 4 8 5 6 99 99 4 8 5 6 99 1 2
3-ий 99 4 8 5 6 99 99 99 8 5 6 99 1 2 4
4-ый 99 99 8 5 6 99 99 99 8 99 6 99 1 2 4 5
5-ый 99 99 8 99 6 99 99 99 8 99 99 99 1 2 4 5 6
6-ой 99 99 8 99 99 99 99 99 99 99 99 99 1 2 4 5 6 8

{Исходный вектор А}

{Полученный вектор B}

For i:=1 to n do

Begin

min:=A[i];

i_min:=i;

For j:=1 to n do

If A[j]<min then

Begin

min:=A[j];

i_min:=j;

end;

B[i]:=min;

A[i_min]:=99;

end;

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

 

Date: 2015-10-19; view: 243; Нарушение авторских прав; Помощь в написании работы --> СЮДА...



mydocx.ru - 2015-2024 year. (0.005 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию