X, y и строка, атрибуты седла двухмерной антенной решетки назад?

если я думаю о x, y координатная плоскость x, y является общей нотацией для упорядоченной пары, но если я использую массив за два десять центов, у меня есть myArray [строка] [седло], и строка является y, и седло является x. Это назад, или я просто думаю об этом неправильно? Я думал, что это будет похоже на myArray[x][y], но это неправильно, если я хочу реальные строки и столбцы (как в gameboard.) Разве это не был бы myArray[y][x], чтобы действительно подражать плате столбца строки?

40
задан johnny 4 February 2010 в 21:54
поделиться

3 ответа

Вы правы, и кажется, что это немного не так. номер строки - это координата y, а номер столбца - координата x, и все же мы обычно пишем row, col, но мы также обычно пишем x, y.

Если вы хотите записать свой массив как [y] [x], зависит или [x] [y], зависит в основном от того, насколько вы действительно заботитесь о макете в памяти (и если да, то какой язык вы используете). и хотите ли вы написать функции / методы, которые могут работать со строками или столбцами изолированно.

Если вы пишете код C / C ++, массивы хранятся в старшем порядке строк , что означает, что одну строку данных можно рассматривать как одномерный массив. Но один столбец данных не может. Если я правильно помню, VB использует основной порядок столбцов, поэтому языки различаются. Я был бы удивлен, узнав, что C # также не является основным порядком строк, но я не знаю.

34
ответ дан 27 November 2019 в 01:54
поделиться

Собственно, решать вам. В вашем вопросе нет права думать. Например, я обычно думаю об одномерном массиве как о ряду ячеек. Итак, на мой взгляд, это array [col] [row]. Но это действительно ваше дело ...

0
ответ дан 27 November 2019 в 01:54
поделиться

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

Если это строго в вашем собственном коде, делайте то, что вам удобно. Лично я предпочитаю использовать myArray [y] [x]. Если они большие, то сохранение вместе элементов, к которым вы собираетесь много раз обращаться, может дать повышение производительности. Но я бы не стал беспокоиться об этом до самого позднего этапа, если вообще.

0
ответ дан 27 November 2019 в 01:54
поделиться
Другие вопросы по тегам:

Похожие вопросы: