У меня есть следующее домашнее задание в C. Мне в основном нужен подход, а не решение.Сортировка алмазного массива в C
У нас есть массив 13 х 13. В массиве мы имеем форму алмаза, которую мы должны рассмотреть. Все вне этого алмаза инициализируется -1 (неважно). Пример 5 x 5 массив ниже
x x 1 x x
x 2 2 2 x
3 3 3 3 3
x 4 4 4 x
x x 5 x x
x=-1
Теперь в этом массиве значения, которые мы имеем в алмазе для каждой записи, содержат 11 бит. 5 lsb содержит одну информацию (оттенок), а другая 6 содержит другие данные (диаметр). Нам нужно сортировать данные по ряду, монотонно для оттенка, а затем по столбцу по диаметру монотонно.
Что было бы самым эффективным способом сохранения памяти? Поскольку нам нужно сохранить это, лучше всего, если записи меняются местами, а не создают другой массив. В итоге мы получим сортированный алмазный массив (все еще с -1s). Большое спасибо заранее, ребята!
Еще одно задание на домашнюю работу ... Что вы пробовали сэр? –
рандомизируйте все значения, затем проверьте, соответствуют ли они вашим требованиям. Если они этого не сделают, повторите процесс, пока они не сделают это. http://en.wikipedia.org/wiki/Bogosort – xaxxon
@xaxxon «Как эффективно проверить, отсортированы ли значения?» – Thomas