68988

Операції над динамічними рядками

Лекция

Информатика, кибернетика и программирование

Розглянемо процедуру шукання заданого елемента. Попередньо опишемо тип, який відображає рядок символів як динамічну структуру. Складемо логічну функцію виявлення заданого символу в заданому динамічному рядку. Передбачимо як побічний ефект логічної функції шукання елемента вказівку...

Украинкский

2014-09-28

38 KB

1 чел.

Лекція № 17

Тема: Операції над динамічними рядками

План заняття:

  1.  Пошук заданого елементу
  2.  Вилучення заданого елемента з рядка

Пошук заданого елемента.

Розглянемо процедуру шукання заданого елемента. Попередньо опишемо тип, який відображає рядок символів як динамічну структуру. Складемо логічну функцію виявлення заданого символу в заданому динамічному рядку. Передбачимо як побічний ефект логічної функції шукання елемента вказівку на ланку, яка відповідає першому входженню заданого символу.

program Form2;

type

Link=^LRiad;

LRiad=Record

Elem: Char;

Next: Link;

end;

function SeekElem(Rjad:Link; Elm:char; var Res:Link): Boolean;

var Rb: Link;

begin

SeekElem:=False;

Res:=nil;

Rb:=Rjad^.Next;

while (Res=nil) and (Rb<>nil) do

if Rb^.EIem=Elm then

begin

SeekElem:=True;

Res:=Rb;

end

else Rb:=Rb^.next;

end;

begin

end.

Параметрами функції SeekElem є: вказівна змінна Rjad, що вказує на рядок символів; Elm, що містить шуканий елемент -символ; Res - вказівна змінна-результат, вказує на ланку, що містить шуканий елемент; Rb - робоча змінна вказівного типу.

Вилучення заданого елемента з рядка.

Описуючи цю процедуру, будемо задавати елемент, який треба вилучити, за допомогою вказівки на ту ланку ланцюга, після якої є елемент, що його потрібно вилучити.

Схематично процедуру вилучення зобразимо так. Нехай вихідний ланцюг є (опишемо фрагмент) таким, як показано на рис. 1.

Рис. 1. Фрагмент динамічного рядка.

Вилучення елемента В треба організувати так, щоб вказівка з ланки А була на ланку С. оминаючи ланку з елементом В (рис. 2).

Рис. 2. Вилучення ланки динамічного рядка.

Описуючи процедуру вилучення заданого елемента з рядка, передбачимо знищення всієї ланки, що містить цей елемент:

program Form3;

type

Link=^LRiad;

LRiad=record

Elem: Char;

Next: Link;

end;

procedure DelElem(Lanka: Link);

var Rb: Link;

begin

Rb:=Lanka^.Next;

Lanka^.Next:=Lanka^.Next^.Next;

dispose(Rb);

end;

begin

end.

Знищуємо ланку, що містить шуканий елемент, для економії пам'яті.


 

А также другие работы, которые могут Вас заинтересовать

28803. Каковы причины политической раздробленности на Руси? Дайте характеристику русских княжеств и земель в условиях децентрализации Киевской Руси 15.29 KB
  Причины: борьба за власть рост городов набеги кочевников Киев теряет свое значение 1ВладимироСуздальскаяЮрий Долгоруковвласть принадлежала князю 2Галецко Волынская князь Даниил Романович власть принадлежала боярем князю 3Новгород власть вече народное собрание Последствие раздробленности: новые торговли развитие новых город развитие культур ослабление междоусобных войск и дробление княжеств ослабление центральной власти.
28804. Русь и Золотая Орда. Какие оценки монгольского фактора в истории России существуют в исторической литературе 15.88 KB
  Карамзина состояли в следующем: согласие с татарами позволившее провести 40 мирных лет; большая заслуга перед своей малой Родиной Московским княжеством: обогатил усилил расширил; ЛН Гумилев считал что монголотатарского ига на Руси не было Нашествия Батыя были лишь военным рейдом и последующие события не имеют к нему непосредственного отношения Он утверждал что Великое княжество Владимирское в лице Александра Невского добилось выгодного союза с Золотой Ордой В 1237 г. Батый вторгся в земли Руси. ×Ярлык на княжение зависимые...
28805. Каковы причины возвышения Москвы? Какие еще альтернативы объединения Руси вы могли бы назвать 14.07 KB
  свержение монголотатарского ига Иван III происшедшее мирным путем после отказа платить дань Орде и последующего стояния на Угре русского и татарского войск друг против друга когда хан так и не решился вступить в битву. первый свод законов нового объединенного Русского государства Судебник Ивана III. завершение процесса объединения при сыне Ивана III Василии III.
28806. Образование централизованного Московского государства в 15-16вв. Чем данный процесс в России отличается от западноевропейского 13.91 KB
  Особенностями политической системы Московского царства были: а внутренней: 1 авторитарный характер государственной власти 2 превращения Руси с XV в и единственное в мире независимое православное государство; 3 закрепление политической и культурной изоляции и отставания от Европы; б внешней: 1 огромная территория государства 2 превращение Руси в многонациональное государство Завершающий этап централизации Русского государства связан с именем и царствованием внука Ивана III Ивана Грозного впервые принявшего в 1547 г. Тем самым...
28807. Внешняя политика Советского государства в 20-30-х гг. Почему в данный период не удалось создать систему международной безопасности 15.85 KB
  Почему в данный период не удалось создать систему международной безопасности Внешняя политика СССР в 2030 гг. СССР добился снятия экономической блокады. 1924-1933 годы постепенного признания СССР.В конце 20х годов произошло резкое ухудшение международного положения СССР.
28808. Истоки и причины Второй Мировой войны. Причины поражения СССР на первом этапе ВОВ. Формирование антигитлеровской коалиции 15.85 KB
  Причины поражения СССР на первом этапе ВОВ. Ослабление СССР репрессиями Сталина только в армии было арестовано и убито около 4 млн человек. Пассивность Франции и Великобритании с целью натравить Гитлера на СССР. Стремление каждой страны Европы достичь своих целей участвуя в войне например Польша мечтала напасть на СССР Италия мечтала захватить соседние земли.
28809. Подготовка и осуществление коренного перелома в ВОВ. Путь к победе. Какие события позволяют судить о решающем вкладе СССР в победу над Германией 18.15 KB
  Наибольшего размаха и напряжения военные действия достигли на советскогерманском фронте где летом в вооруженной борьбе принимало участие с обеих сторон более 700 расчетных дивизий до 12 млн. К осени протяженность советскогерманского фронта достигла почти 6200 км максимальной величины за всю войну. В результате героического сопротивления советских войск наступление противника на южном крыле советскогерманского фронта было остановлено. Несмотря на то что на большинстве участков наступление противника было остановлено положение на южном...
28810. СССР в послевоенные годы. Была ли неизбежна «холодная война» 15.58 KB
  И тем не менее с точки зрения выяснения того когда и как она началась думается имеет существенное значение то какими виделись послевоенные отношения между США и СССР Рузвельту и какой линии он намеревался придерживаться в этом вопросе. В последовавшей затем беседе с советским послом президент особо подчеркнул что считает поддержание и развитие дружественных отношений между США и СССР абсолютно необходимыми и соответствующими интересам обеих стран. Вслед за этим вскоре после состоявшейся в ноябре 1943 года в Тегеране встречи руководителей...
28811. Почему «Хрущевское десятилетие» вошло в историю страны как «оттепель»? Укажите основные направления хрущевских реформ 14.42 KB
  Смерть Сталина устранение от власти Берии положило конец массовому террору в стране. Критика культа личности Сталина разбудила советское общество порождала веру надежду на изменение к лучшему.