Re: Выбоpки
- From
- Viktor Karev (2:5080/1003)
- To
- Viktor Karev
- Date
- 2002-12-02T10:41:19Z
- Area
- RU.ALGORITHMS
From: Viktor Karev <termar@narod.ru>
Reply-To: termar@narod.ru
Приветствия!
Viktor Karev wrote:
> Алгоритм получения следующей выборки в массиве A[1..N]:
В ранее посланном алгоритме - ошибка. Конкретно - в пункте 3.
> 1.Идя с конца, ищем i, для которого A[i]<A[i+1].
> 2.Если такого нет, то все выборки закончились, КОНЕЦ.
> 3.Просеиваем элемент A[i] через элементы правее его, пока он не
> станет на место.
3. Идя с конца последовательности до i+1 ищем первый элемент A[j]
> A[i]. Меняем его местами с A[i].
> 4.Теперь все элементы A[i..N] упорядочены по убыванию.
> 5.Меняем их местами, упорядочивая по возрастанию.
> КОНЕЦ.
Пример
0. 1 3 7 5 9 8 4
1. i=4, A[i]=5
2. -----
3. 1 3 7 8 9 5 4
4. ---
5. 1 3 7 8 4 5 9
Виктор.
--- ifmail v.2.15dev5
* Origin: USURT's FidoNET<->Internet Gate (news://news.c (2:5080/1003@fidonet)