Воробьева Валентина Владиславовна 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Воробьева Валентина Владиславовна



……………………………………

Сорокин Сергей Семенович

 

Разделителем может быть и какой-нибудь специальный символ. Нам хорошо из­вестны разделители между словами — это пробелы. В русском и во многих евро­пейских языках общепринятым разделителем предложений является точка. В рас­смотренном нами классном журнале в качестве разделителя можно использовать любой символ, который не встречается в самих данных, например символ «*». Тогда наш список выглядел бы так:

Аистов Александр Алексеевич * Бобров Борис Борисович * Воробьева Валентина Владиславовна *... * Сорокин Сергей Семенович

 

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

Еще проще можно действовать, если все элементы списка имеют равную длину. В этом случае разделители в списке вообще не нужны. Надо просмотреть список с самого начала и отсчитать n -1 элемент. Со следующего символа начнется нужный элемент. Поскольку его длина известна, то его конец определить нетрудно. Такие упрощенные списки, состоящие из элементов равной длины, называют векторами данных. Работать с ними особенно удобно.

Таким образом, линейные структуры данных (списки) — это упорядоченные струк­туры, в которых адрес элемента однозначно определяется его номером.

 

Табличные структуры (таблицы данных, матрицы данных)

 

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

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

 

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

 

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

 

Нью-Йорк*696115*3437202*7 891957*7071639 # Лос-Анжелес* 1610* 102479*1970 358*2966850

 

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

Еще проще можно действовать, если все элементы таблицы имеют равную длину. Такие таблицы называют матрицами. В данном случае разделители не нужны, поскольку все элементы имеют равную длину.

Таким образом, табличные структуры данных (матрицы) — это упорядоченные структуры, в которых адрес элемента определяется номером строки и номером столбца, на пересечении которых находится ячейка, содержащая искомый элемент.

Многомерные таблицы. Выше мы рассмотрели пример таблицы, имеющей два измерения (строка и столбец), но в жизни нередко приходится иметь дело с табли­цами, у которых количество измерений больше. Вот пример таблицы, с помощью которой может быть организован учет учащихся.

Номер факультета:                                                   3

Номер курса (на факультете):                    2



Поделиться:


Последнее изменение этой страницы: 2021-07-18; просмотров: 43; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.144.124.232 (0.004 с.)