Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.03.12;
Скачать: CL | DM;

Вниз

Перемешивание!   Найти похожие ветки 

 
DDS   (2006-02-21 16:32) [0]

Необходимо перемешать элементы массива таким образом чтобы не только рядом стоящие элементы не были равны, но и чтобы одинаковые элементы как можно дальше стояли друг от друга. Т.е. повторы исключены и если есть возможность то исключены повторы через 2, через 3, через 4 и.т.д. элемента.


 
Ega23 ©   (2006-02-21 16:35) [1]

Ну, начинай мешать.


 
clickmaker ©   (2006-02-21 16:36) [2]

разбить на 2 одинаковых, 1й - по убыванию, 2й - по возрастанию. Потом слепить


 
Compton's G ©   (2006-02-21 16:40) [3]

clickmaker ©  
ну и что будет?
Например массив
1
1
1
3
3
4
Разобьем на 2 т.е. 1-й будет (1,1,1) 2-й (4,3,3) потом слепим и что получим?


 
Ega23 ©   (2006-02-21 16:48) [4]


> Разобьем на 2 т.е. 1-й будет (1,1,1) 2-й (4,3,3) потом слепим
> и что получим?
>


Кувшин?


 
Jack London   (2006-02-21 18:50) [5]

вот мой вариант:
посчитать для каждого элемента количество вхождений в массив.
ну а дальше расставлять элементы через каждые L/F (L – длинна массива, F – количество вхождений), если в этом месте уже стоит элемент, сдвигаемся в сторону.
начинаем расставлять элементы сначала те, что с наибольшим числом повторений, а те которые встречаются только один раз, пишем в конце куда влезет. ну типа того )


 
Jack London   (2006-02-21 18:51) [6]

может даже и будет работать...



Страницы: 1 вся ветка

Текущий архив: 2006.03.12;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.034 c
15-1140185712
Piter
2006-02-17 17:15
2006.03.12
Сколько энергии потребляет GPRS?


4-1134816898
Igor_thief
2005-12-17 13:54
2006.03.12
Проблема с Hook om


2-1140514284
VitV
2006-02-21 12:31
2006.03.12
ListBox+DblClick-проблема.


2-1140689729
-=Dark=-
2006-02-23 13:15
2006.03.12
Ошибка при запуске Delphi


2-1140561855
Начинающий__
2006-02-22 01:44
2006.03.12
Form.BorderStyle = bsSizeable, не показывать иконку