Массив записей

Общие вопросы программирования, алгоритмы и т.п.

Модератор: Модераторы

Ответить
crancv
незнакомец
Сообщения: 6
Зарегистрирован: 12.02.2014 13:50:51

Массив записей

Сообщение crancv »

Доброе время.
Есть массив записей :

type Resurses=record
Index:byte;
Kol_vo:uint64;
end;

Massive:array[0..255] of Resurses;

Index - содержат значения от 0 до 255; Допустим это ASCII коды.
Kol_vo - содержат различные значения от 1000 до 10000 обозначающие какое количество соответствующих ASCII кодов содержится в файле ;

Как отсортировать массив (значения Kol_vo) , чтобы значения массива расположились в порядке убывания.
!!!!! Но таким образом, чтобы значения элементов Index тоже отсортировались в соответствии с элементами Kol_vo. !!!!!


Допустим было так: А стало так:
Index Kol_vo Index Kol_vo
0 15 4 22
1 12 3 20
2 13 0 15
3 20 2 13
4 22 1 12
5 11 5 11

Добавлено спустя 12 минут 18 секунд:
Не получилось с первого раза.
Было так:
Index Kol_vo
0 15
1 12
2 13
3 20
4 22
5 11

Стало так:
Index Kol_vo
4 22
3 20
0 15
2 13
1 12
5 11
xdsl
постоялец
Сообщения: 131
Зарегистрирован: 15.01.2009 12:49:03

Сообщение xdsl »

Ничем не отличается от сортировки любого массива. алгоритм сортировки - любой, в качестве ключа - Kol_vo.
Ну например:

Код: Выделить всё

...
 for i:=0 to 5 do
  for k:=0 to 4-i do
    if massive[k].kol_vo<massive[k+1].kol_vo then begin
     tmp:=massive[k];
     massive[k]:=massive[k+1];
     massive[k+1]:=tmp;
    end;
...
crancv
незнакомец
Сообщения: 6
Зарегистрирован: 12.02.2014 13:50:51

Сообщение crancv »

Спасибо. Все получилось.
Ответить