Скажет, у меня есть данные 1,2,3,4,5,6Delphi - сортировка действительных чисел в высоком, низком, высоком, низком порядке
Я хочу, чтобы отсортировать эти данные так, что он выводит - 1 5 2 4 3
таким образом, цифры совпадают с тем, что низкие числа пары с большим числом
ли я использовать слияние для сортировки в порядке возрастания, а затем разделить список и сопоставить их в соответствии с этим условия?
Я пытаюсь сортировать данные реального числа в строковой сетке, которая считывается из файла данных; У меня есть рабочую программу, которая сортирует эти данные в числовом порядке, но я не уверен, как закодировать его так, что он сортирует с точки зрения высокий, низкий, высокий, низкий
Это код для моей сетки сортировки
procedure TForm1.SortGrid(Grid: TStringGrid; const SortCol: Integer;
//sorting the string grid
const datatype: Integer; const ascending: boolean);
var
i: Integer;
tempgrid: TStringGrid;
list: array of Integer;
begin
tempgrid := TStringGrid.create(self);
with tempgrid do
begin
rowcount := Grid.rowcount;
ColCount := Grid.ColCount;
fixedrows := Grid.fixedrows;
end;
with Grid do
begin
setlength(list, rowcount - fixedrows);
for i := fixedrows to rowcount - 1 do
begin
list[i - fixedrows] := i;
tempgrid.rows[i].assign(Grid.rows[i]);
end;
Mergesort(Grid, list, SortCol + 1, datatype, ascending);
for i := 0 to rowcount - fixedrows - 1 do
begin
rows[i + fixedrows].assign(tempgrid.rows[list[i]])
end;
row := fixedrows;
end;
tempgrid.free;
setlength(list, 0);
end;
Если вы хотите отсортировать номера в хай-лоу-высокого низкого порядка не вы должны получить 6 1 5 2 4 3 из исходных данных? –
Я только писал, что очень быстро, без мысли, но да, в таком порядке – Nathan
Я вернул ваш вопрос. Первоначальный вопрос был прекрасен и был дан ответ. –