Программная инженерия Нижний Новгород 017 Лабораторный


Download 1.23 Mb.
Pdf ko'rish
bet61/87
Sana08.06.2023
Hajmi1.23 Mb.
#1463900
TuriУчебно-методическое пособие
1   ...   57   58   59   60   61   62   63   64   ...   87
Bog'liq
Pract ADS

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

инициализация (установка на корневое звено) 
В этом методе происходит опустошение стека, после чего в стек помещаются указатель 
на корневое звено, указатели на следующее звено и следующее в подуровне.
 Раздел 2 
 
 
 2.1. Полиномы 
 
 
 Раздел 2 
 
 
 
 
 
 2.1. Полиномы 
 
 
 Раздел 2 
 
 
 
 
 
 2.1. Полиномы 
 
 
InsDownLine 
InsDownSection 


 
72 

проверка завершения текста 
Если стек пуст, то текст завершен. 

переход к следующему звену 
В стек помещаются указатели на следующее звено и на звено, следующее в подуровне. 
2.2.6. 
Копирование текста 
Для копирования текста необходимо осуществить обход текста. Так как структура текста 
является нелинейной, то копирование производится за два прохода, при этом для навигации 
по исходному тексту и тексту копии используется один объединенный стек.
Первый проход производится при подъеме на строку из подуровня – для текущей строки 
выполняется: 

создание копии звена; 

заполнение в звене-копии поля указателя подуровня pDown (подуровень уже 
скопирован);

запись в звене-копии в поле данных значения “Copy”, используемое как маркер для 
распознавания звена при попадании на него при втором проходе; предполагается, что в 
тексте данный маркер не встречается; 

запись в звене-копии в поле указателя следующего звена pNext указателя на звено-
оригинал (для возможности последующего копирования текста исходной строки); 

запись указателя на звено-копию в стек. 
Второй проход производится при извлечении звена-копии из стека (распознается по 
маркеру “Copy”)– в этом случае необходимо выполнить: 

заполнение в звене-копии полей данных и указателя следующего звена;

указатель на звено-копию запоминается в служебной переменной. 

Download 1.23 Mb.

Do'stlaringiz bilan baham:
1   ...   57   58   59   60   61   62   63   64   ...   87




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling