Что вам нужно сделать, это сохранить пары строк и соответствующий идентификатор, например, в двух списках / массивах (независимо от того, какой язык программирования вы выбираете).
Затем начинайте сортировку строк, но каждый раз, когда выпереместить строку, переместить идентификатор таким же образом.
Кроме того, большинство языков программирования предлагают конструкции, которые позволяют создавать пары, а затем вы сортируете эти пары в соответствии со строками, что автоматически перемещает идентификаторы.
Оба способа означают, что после сортировки вывсе еще можно найти идентификатор для каждой строки, затем с этим идентификатором вы можете получить доступ к соответствующим облачным данным, как обычно.
Например, язык программирования C предлагает конструкцию составного типа данных
struct IdStringPair
{
int id;
char* string;
/* actually just the address of where the full string is stored,
but basically what you probably want to use */
};
Вряд ли существует какой-либо язык программирования, который бы не предлагал нечто подобное.
Если данные для сортировки, наоборот, находятся в облаке, то сортировка должна выполняться в облаке, то есть с помощью чего-то, способного выполнитьалгоритм сортировки.Убедитесь, что вы сортируете идентификатор вместе с ключом.Тогда поиск не облачной строки снова будет таким же, как и раньше.Что бы вы ни делали ранее, чтобы найти строку для идентификатора, сделайте это с идентификатором, который вы получили из отсортированных в облаке данных.
Это то же самое, что и первая ситуация / решение, только что отраженное.
ЯдроКонцепция заключается в том, чтобы всегда сортировать идентификаторы вместе с ключом (и другими данными) и тем самым избавляться от необходимости иметь данные с другой стороны разрыва между обломками и предпосылками.Это применимо ко всем версиям сортировки разделенных данных.