Информатика -взгляд 2


Данные - часть 14


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

При хранении табличных данных количество разделителей должно быть больше, чем для данных, имеющих структуру списка. Например, когда таблицы печатают в книгах, строки и столбцы разделяют графическими элементами — линиями вертикальной и горизонтальной разметки (рис. 1.4).

Если нужно сохранить таблицу в виде длинной символьной строки, используют один символ-разделитель между элементами, принадлежащими одной строке, и другой разделитель для отделения строк, например так:

 

Меркурий*0,39*0,056*0#Ввнера*0,67*0,88*0#Земля*1,0*1(0*1#Марс*1)б1*0,1*2#...

 

 

 

 

 

Планета

Расстояние до Солнца, а.е.

Относительная масса

Количество спутников

Меркурий

0,39

0,056

0

Венера

0,67

0,88

0

Земля

1,0

1,0

1

Марс

1,51

0,1

2

Юпитер

5,2

318

16

 

Рис. 1.4. В двумерных таблицах, которые печатают в книгах, применяется

                два типа разделителей — вертикальные и горизонтальные

 

Для розыска элемента, имеющего адрес ячейки (т,п), надо просмотреть набор данных с самого начала и пересчитать внешние разделители. Когда будет отсчитан т-1 разделитель, надо пересчитывать внутренние разделители. После того как будет найден и-1 разделитель, начнется нужный элемент. Он закончится, когда будет встречен любой очередной разделитель.

Еще проще можно действовать, если все элементы таблицы имеют равную длину. Такие таблицы называют матрицами. В данном случае разделители не нужны, поскольку все элементы имеют равную длину и количество их известно. Для розыска элемента с адресом (т, п) в матрице, имеющей М строк и N столбцов, надо просмотреть ее с самого начала и отсчитать a [N(m -1) + (п -1)] символ, где а — длина одного элемента. Со следующего символа начнется нужный элемент. Его длина тоже равна а, поэтому его конец определить нетрудно.




Начало  Назад  Вперед



Книжный магазин