Табличные структуры (таблицы данных, матрицы данных)
С таблицами данных мы тоже хорошо знакомы, достаточно вспомнить всем известную таблицу умножения. Табличные структуры отличаются от списочных тем, что элементы данных определяются адресом ячейки, который состоит не из одного параметра, как в списках, а из нескольких. Для таблицы умножения, например, адрес ячейки определяется номерами строки и столбца. Нужная ячейка находится на их . пересечении, а элемент выбирается из ячейки.
При хранении табличных данных количество разделителей должно быть больше, чем для данных, имеющих структуру списка. Например, когда таблицы печатают в книгах, строки и столбцы разделяют графическими элементами — линиями вертикальной и горизонтальной разметки (рис. 1.10).
Город Население Население Население Население 1850 1900 1950 1980 Нью-Йорк 696115 3437202 7891957 7071639 Лос-Анжелес 1610 102479 1970358 2966850 Чикаго 29 963 1 698 575 3 620 962 3 005 072 Хьюстон 2396 44633 596163 1595138 Филадельфия 121376 1293667 2071605 1688210 |
Рис. 1.10. В двумерных таблицах, которые печатают в книгах, применяются два типа разделителей — вертикальные и горизонтальные
Если нужно сохранить таблицу в виде длинной символьной строки, используют один символ-разделитель между элементами, принадлежащими одной строке, и другой разделитель для отделения строк, например так:
Нью-Йорк*696115*3437202*7 891957*7071639 #Лос-Анжелес*1610* 102479*1970 358*2966850
Для розыска элемента, имеющего адрес ячейки (т, п), надо просмотреть набор данных с самого начала и пересчитать внешние разделители. Когда будет отсчитан тн-1 разделитель, надо пересчитывать внутренние разделители. После того как будет найден и-1 разделитель, начнется нужный элемент. Он закончится, когда будет встречен любой очередной разделитель.
Еще проще можно действовать, если все элементы таблицы имеют равную длину. Такие таблицы называют матрицами. В данном случае разделители не нужны, поскольку все элементы имеют равную длину.
Таким образом, табличные структуры данных (матрицы) — это упорядоченные структуры, в которых адрес элемента определяется номером строки и номером столбца, на пересечении которых находится ячейка, содержащая искомый элемент.
Многомерные таблицы.Выше мы рассмотрели пример таблицы, имеющей два измерения (строка и столбец), но в жизни нередко приходится иметь дело с таблицами, у которых количество измерений больше. Вот пример таблицы, с помощью которой может быть организован учет учащихся.
Номер факультета: 3
Номер курса (на факультете): 2
Номер специальности (на курсе): 2
Номер группы в потоке одной специальности: 1
Номер учащегося в группе: 19
Размерность такой таблицы равна пяти, и для однозначного отыскания данных об учащемся в подобной структуре надо знать все пять параметров (координат).
Дата добавления: 2016-06-22; просмотров: 1745;