2017-02-13 89 views
-1

Возможно ли переупорядочить массив из 8-битных байтов по их целочисленному размеру (от высокого к низкому или наоборот), сохраняя возможность вернуть исходные позиции байтов? Я хочу сделать это в наименьшем количестве байтов.Как переупорядочить массив байтов по целочисленному размеру, а затем вернуться назад?

т. Е.: Int [] array = {10, 250, 50, 17, 12, 140, 30, 221};

Я хотел бы иметь массив экспрессируется в порядке возрастания или убывания в виде массива байтов, все еще будучи в состоянии вернуть его обратно к нормальному

Новый массив байт будет записан в файл. Поэтому единственной доступной для декодирования информацией является новый массив байтов.

Цените помощь, спасибо!

+0

@ jannagy02, но как бы я идти о возврате его обратно в исходное состояние, если все, что у меня есть, это преобразованный массив байтов? – Kozzy

+0

var newArray = array.OrderBy (x => x); переменная «array» будет иметь первоначальный порядок. – jannagy02

+0

@ jannagy02 обновил вопрос – Kozzy

ответ

0

Вы можете использовать LINQ

var sortedArray = array.OrderBy(x => x); 
var sortedArrayDesc = array.OrderByDescending(x => x); 

Оба sortedArray и sortedArrayDesc являются IEnumerable, они не будут оценены, пока вы не используете их, и они счетчики над вашей коллекцией