Re: Выбоpки

From
Viktor Karev (2:5080/1003)
To
Denis Novokshonov
Date
2002-11-29T17:30:43Z
Area
RU.ALGORITHMS
From: Viktor Karev <termar@narod.ru>
Reply-To: termar@narod.ru

Приветствия!

Denis Novokshonov wrote:

Алгоритм получения следующей выборки в массиве A[1..N]:

1.Идя с конца, ищем i, для которого A[i]<A[i+1].
2.Если такого нет, то все выборки закончились, КОНЕЦ.
3.Просеиваем элемент 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 9 5 8 4
   1 3 7 9 8 5 4
4.
5. 1 3 7 4 5 6 9
--- ifmail v.2.15dev5
 * Origin: USURT's FidoNET<->Internet Gate (news://news.c (2:5080/1003@fidonet)