Сортировка массива

  • Автор темы Автор темы p0is0n
  • Дата начала Дата начала

p0is0n

Новичок
Сортировка массива

Доброе время суток:) Встала такая задача отсортировать массив так, чтобы более похожие значения находились далеко друг от друга.

Например

PHP:
$arrs = array( 
	20, 19, 50, 10, 20, 20, 80, 81
);

в итоге получить что то типа:

PHP:
$arrs = array(
	20, 50, 19, 80, 10, 19, 80, 20 
);

может есть какой алгоритм?
 
нечетко поставлена задача. ЧТо значит "далеко"?
 
varan разные значения на сколько это возможно.

Я думаю по примеру понятно?
 
p0is0n
не понятно) у тебя разные значения в массиве..

вот как ты получил отсортированный массив? запиши действия на бумажку и переведи в операторы php )
 
почему, к примеру 20 от 20 дальше чем 80 от 80?
 
тебе надо работать с понятиями из статистики и эконометрий (разброс, пределы погрешности и т.д.).

На твоем примере ты на глаз отсортировал, но если бы добавить еще 3 элемента со значениями "20", то никак бы не мог отсортировать этот массив, ни на глаз ни в пхп.

Лучше напиши всю твою задачу, с параметрами чтобы был яснее смысл во всем этом.

Автор оригинала: varan
почему, к примеру 20 от 20 дальше чем 80 от 80?
Он имеет ввиду сравнение значении чисел, а не их позиция. И это сравнение чтобы было уравновешенное считывая все элементы массива, то-есть чисел-соседи были как +/- (на батарейках =))))
 
[NEO]
Мне нужно это для графика, чтобы похожие столбцы были как можно дальше друг от друга.
 
Простенькое решение в лоб - отсортировать массив. Разделить его на две половинки. и соединить как соединяют карты игральные :)

пример.

1 2 3 4 5 6

1 2 3 и 4 5 6

1 4 2 5 3 6
 
это будет заметно на графике. Надо еще добавить чуть-чуть рандома
 
Сверху