Я знал, что это странная идея, о которой я должен думать, я хочу знать, можно ли изменить механизм сортировки (я не хочу отменять порядок).Сортировочный механизм Обращение с Delphi
например, скажем, у меня есть случайный массив целых чисел, тогда я отсортировал массив с помощью метода quicksort, теперь я хочу вернуться и разбить массив и вернуть его обратно в это.
Вы можете предложить мне сохранить копию массива, это не то, что я хочу, подумать об этом как о временной линии и иметь возможность идти назад или вперед по методу сортировки.
и если возможно, пожалуйста, подумайте о том, чтобы показать мне лучший способ сделать это с помощью Delphi XE.
Заранее спасибо.
Почему бы просто не добавить тег к каждому элементу, чтобы указать его исходное положение, или сохранить исходный порядок и добавить тег, чтобы указать отсортированную позицию элемента? – MartynA
Откажитесь от индексов вместо –
MartynA, Дэвид, спасибо за информацию, на самом деле размер имеет значение, поэтому я не хочу дублировать или сохранять указатели, я снова искал и нашел этот другой вопрос, его почти ту же идею, [алгоритм реверсивного сортировки] (https://stackoverflow.com/questions/12227599/reversible-sort-algorithm?rq=1), см. ответ о перестановке Сортировка, с этой ссылкой [Перестановочная сортировка] (http: // rosettacode.org/wiki/Sorting_algorithms/Permutation_sort), если это действительно детерминировано, то это возможно, последняя ссылка имеет множество примеров для этого метода, но не их в pascal lang. – Radament