Теми рефератів
> Реферати > Курсові роботи > Звіти з практики > Курсові проекти > Питання та відповіді > Ессе > Доклади > Учбові матеріали > Контрольні роботи > Методички > Лекції > Твори > Підручники > Статті Контакти
Реферати, твори, дипломи, практика » Контрольные работы » Структури та алгоритми обробки даних

Реферат Структури та алгоритми обробки даних





;сортовані' ); (f, 'елементів сортовані');

for k: = 1 to point do: = step * k; i: = 1 to 3 do_time [i]: = 0.0; j: = 1 to exp do (n, ARRAYSIZE, a) ; (n, a, t); _time [i]: = aver_time [1] + t; i: = 1 to n div 2 to 3 do_time [i]: = aver_time [i]/exp; (f, n: 7, ''); i: = 1 to 3 do (f, aver_time [i]: 7:2, ''); ( f);; (f);

end.

Задача 3. Циклічні списки


Завдання:

Описати вказаний абстрактний тип даних і основні функції роботи з ним на абстрактному рівні. Реалізувати процедури необхідні для вставки, видалення елемента в зазначений вид АТД, процедуру друку вмісту АТД, а також додатково реалізувати процедуру зазначену у варіанті, на конкретній мові програмування. p align="justify"> Для варіанта № 10: Односпрямований циклічний список символів. Реалізувати процедуру підрахунку суми елементів. p align="justify"> Рішення:

Теоретичне введення

Циклічно зв'язаний список (скорочено - циклічний список) має ту особливість, що зв'язок його останнього вузла не дорівнює Л, а йде назад до першого вузла списку. У цьому випадку можна отримати доступ до будь-якого елементу, який знаходиться в списку, вирушаючи від будь-якої заданої точки; одночасно ми досягаємо також повної симетрії, і тепер нам вже не доводиться розрізняти у списку "останній" або "перший" вузол. Типова ситуація виглядає наступним чином:

Припустимо, у вузлах є два поля: INFO і LINK. Мінлива зв'язку PTR указує на самий правий вузол списку, a LINK (PTR) є адресою самого лівого вузла. br/>В 

Рис. 1


Різновидом розглянутих видів лінійних списків є кільцевої список, який може бути організований на основі як односвязного, так і двохзв'язной списків. При цьому в однозв'язний списку покажчик останнього елемента повинен вказувати на перший елемент. p align="justify"> Лістинг программиlist; CRT; pt = ^ elem; = record: byte;: pt;; getprelastel (list: pt): pt; nextel: pt; (list <> NIL) then (* Якщо список не порожній *): = list;: = nextel; (* Перейти до наступного елемента списку *) (list ^. next <> NIL) then

nextel: = list ^. next; (nextel ^. next = NIL); (* Поки наступний за даними елемент списку не буде останнім *): = list; (* Повернути знайдений елемент *) ( * Інакше, якщо контактів немає *): = NIL; (* Повернути покажчик на порожній список *)

end; getlastel (list: pt): pt; (list <> NIL) then (* Якщо список не порожній, то: *) (list ^. next <> NIL) do ( * Поки поточний елемент списку не останній *)

list: = list ^. next; (* Перейти до наступного елемента *): = list; (* Повернути знайдений елемент *) (* Інакше *): = NIL; (* Повернути покажчик на порожній список *)

end; searchel (list: pt; inf...


Назад | сторінка 4 з 10 | Наступна сторінка





Схожі реферати:

  • Реферат на тему: This is a list of problems facing society today
  • Реферат на тему: Зв'язний список футболістів
  • Реферат на тему: Програма &Список комерційних банків& на мові Сі
  • Реферат на тему: Об'єктна реалізація поліморфного контейнера на основі лінійного списку
  • Реферат на тему: Список загроз безпеки для території проживання