RV2020 Ответов: 1

Как отсортировать таблицу в возрастающем числовом порядке?


Таким образом, в основном, у меня есть куча массивов, которые все собираются вместе, чтобы сформировать таблицу.
И я хочу привести его в возрастающий порядок

Что я уже пробовал:

For x = 1 to 6
        Console.WriteLine("{0,-10} {1,-6} {2,-7} {3,-7} {4,-10} {5,-5}", name(x), sum, wins, lost, roundsWon, knockout)
next

CHill60

Что не так с кодом, который у вас есть? Что происходит/не происходит?

RV2020

В настоящее время он просто выводит его так, как он был введен (Шарлотта, затем Виктория, затем Дхрув, затем Петра, затем Рауха, затем Изабель), а не в порядке возрастания (Изабель, затем Дхрув, затем Петра, затем Шарлотта, затем Виктория, затем Рауха)

1 Ответов

Рейтинг:
12

OriginalGriff

Я бы сделал это так: выбросил ваши отдельные массивы и создал "контейнерный класс", который содержит одну информацию о людях: имя и результаты.
Затем создайте массив из них и заполните каждый экземпляр соответствующим образом.
Затем вы можете упорядочить массив по имени или результатам, изменив порядок массива, и другая информация о человеке автоматически перемещается вместе с ним.


OriginalGriff

Это обычный класс, который просто содержит данные - он ничего не пытается с ними сделать.

OriginalGriff

Да, но это намного сложнее, потому что вы должны помнить, что должны выполнять одни и те же действия с обоими массивами, иначе вы не будете хранить связанную информацию вместе.

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

Поэтому, если вам нужен второй элемент в последовательности, вы получаете номер из второго элемента массива индексов и используете его для доступа к массиву имен и массиву результатов.
Если вы хотите отсортировать данные по имени или результатам, вы меняете местами индексы вместо фактических данных в массивах имен или результатов.

В этом есть смысл?