Студопедия  
Главная страница | Контакты | Случайная страница

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Формування.

Перегляд.

3. Пошук елемента за вказаним інформаційним полем.

4. Вставка нового елемента після деякого елемента із вказаним значенням.

Вставка елемента перед деяким елементом.

6. Видалення елемента із вказаним значенням.

Формування однонапрямленого списку.

Для реалізації операції в програмі достатньо мати 4 статичні змінні.

А). Стек.

VAR

first, last,p,q:list1;

O:string;

n,i,a,k:integer;

BEGIN

writeln('введіть кількість елементів у списку');

Readln(n);

for i:=1 to n do

Begin

New(p);

writeln('введіть елемент списку');

Readln(a);

p^.inf:=a;

p^.next:=first;

first:=p

End;

Б). Черга.

writeln('введіть кількість елементів у списку');

Readln(n);

first:=nil;

last:=nil;

New(p);

writeln('введіть елемент списку');

Readln(a);

p^.inf:=a;

last:=p;

first:=p;

for i:=2 to n do

Begin

New(p);

writeln('введіть наступний елемент списку');

Readln(a);

p^.inf:=a;

last^.next:=p;

last:=p

End;

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

2. Перегляд всього списку. Перегляд списку передбачає рух від голови списку до кінця.

PROCEDURE RESIV (first,p:list1);

BEGIN

p:=first;

while p<>nil do

Begin

write(p^.inf,',');

p:=p^.next

End;

Writeln

END;

3.Пошук за вказаним інформаційним полем.

writeln('введіть шуканий елемент');

Readln(a);

while (p<>nil) do

Begin

if p^.inf=a then

Begin

writeln ('під номером № ‘,k+1);

i:=i+1;

End;

p:=p^.next;

k:=k+1

End;

if k=0 then writeln ('немає')

else writeln ('кількість ',i)

4.Вставка нового елементу після деякого елементу.

p:=first;

writeln ('введіть елемент, після якого потрібно вставити новий');

Readln(k);

while p<>nil do

Begin

if p^.inf=k then

Begin

New(q);

writeln('введіть елемент, який потрібно вставити');

Readln(a);

q^.inf:=a;

q^.next:=p^.next;

p^.next:=q

End;

p:=p^.next

End;

5. Вставка нового елементу перед деяким елементом. Вставка нового елемента перед деяким елементом є складнішим, оскільки список є структурою з послідовним доступом. Вставка перед деяким елементом х – це теж саме, що й вставка після попереднього елемента з значенням п.

writeln ('введіть елемент, перед яким потрібно вставити новий');

Readln(k);

p:=first;

if p=nil then writeln ('список пустий')

Else

if p^.inf=k then {вставка перед першим}

Begin

New(q);

writeln ('введіть елемент, який потрібно вставити');

Readln(a);

q^.inf:=a;

q^.next:=p;

first:=q

End

Else

Begin

while (p^.next<>nil) and (p^.next^.inf<>k) do

p:=p^.next;

if p^.next=nil then writeln ('немає такого елементу ')

Else

Begin

New(q);

writeln('введіть елемент, який потрібно вставити');




Дата добавления: 2015-09-11; просмотров: 17 | Поможем написать вашу работу | Нарушение авторских прав

Readln (i); | S1: string; | A.name , a.year, a.pol, a.educ | Readln(name); | Очевидно, що значення параметру не повино перевищувати реальну довжину рядка. | Звичайно базовий тип множини в цьому випадку повинен бути допустимим для процедур вводу-виводу. | Close(f2); | Truncate(f); | Для доповнення текстового файлу використовують режим до запису. | Квартира з номером 34 у 13 будинку з номером 12. |


lektsii.net - Лекции.Нет - 2014-2024 год. (0.008 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав