Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2006.03.12;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.018 c
15-1139844184
Yeg
2006-02-13 18:23
2006.03.12
algolist.manual.ru, только по Pascal


2-1140616856
Silica
2006-02-22 17:00
2006.03.12
Сортировка


2-1140616905
veb
2006-02-22 17:01
2006.03.12
Первая попытка подключения к инернету


2-1140528664
Лёха
2006-02-21 16:31
2006.03.12
как преобразовать hwnd в string


2-1140975612
Volkodav
2006-02-26 20:40
2006.03.12
Полоса перемотки для MediaPlayer1





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский