Учебное пособие Самара 2015 + 004. 43 Ббк 32. 973 Н 19


Download 1.98 Mb.
bet31/53
Sana15.08.2023
Hajmi1.98 Mb.
#1667321
TuriУчебное пособие
1   ...   27   28   29   30   31   32   33   34   ...   53
Bog'liq
Lekcii AiSD 2015

T.é. M B HéB6IMOMHéHH> y >oBHSBOMe dTO é while:
while(Cur != Start ... )
107

Ведущее звено кольцевого 2-связного списка создаётся на- бором операторов:

Link2 *L2 = new Link2; L2->next = L2;


L2->prev = L2;

Графически состояние списка после создания этого звена может быть представлено таким образом:



Рис. 9.6 — Ведущее звено пустого двусвязного кольцевого списка




9.6. Многосвязные списки


Многосвязные списки представляют собой динамические
СТ]Э KT ]ЭЫ ДіІННЫХ, В OCHOB КОТО]ЭЫХ ПОПОЖ НЫ ОДНО- ИПИ ДВ -
связные списки, в которых имеются дополнительные связи меж- ду звеньями. Чаще всего, такие связи проводятся между далеко отстоящими звеньями, например, обозначающими категории данных. Пример многосвязного списка показан на следующем рисунке.



Рис. 9.7 — Многосвязный список

Переход между звеньями АА и БА может выполнен по до- полнительной связи, в обход звеньев АБ и AB. Из-за такого ха- рактера перемещения эти списки иногда называют скпп- списками (skip — перепрыгивать). А при характере размещения данных, подобном показанному на этом рисунке, такие списки называют словарны ми (иногда просто словарями, но термин


«словарь» может использоваться в теории структур данных в разных значениях). Возможны и другие варианты многосвязных

108
списков. Фактически, в некоторых случаях такие списки удобно представлять в виде графов.




Вопросы и задания для самоконтроля



    1. Что представляют собой связные списки?

    2. К каким классификационным группам структур данных

ОТНОСЯТСЯ СПИСКИ

    1. Какие существуют разновидности связных списков?

    2. В чем состоит отличие несвязного списка от массива?

    3. В чем состоит отличие связного списка от массива?

    4. В чем состоит отличие линейного списка от кольцевого?

    5. В чем заключаются недостатки односвязного списка?

    6. В чем состоит отличие односвязного списка от двусвяз-

ного?

    1. Какие операции применяются для связных списков?

    2. В чем отличие считывания информации из списка от

считывания из очереди или стека?

    1. Особенности операций вставки и удаления для связных

СПИСКОВ.

    1. В чем отличие операции вставки в двусвязный список от вставки в односвязный список?

    2. В чем отличие операции удаления из двусвязного спи-

ска от удаления из односвязного списка?

    1. В чем заключаются особенности работы с кольцевыми

списками?

    1. Какой тип должно иметь звено связного списка? Поче-

У’

    1. Что обязательно должно содержать звено связного

списка?

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

звена односвязного списка?

    1. В чем состоит отличие связного списка от стека, opгa-

низованного в виде связного списка?

    1. Перечислите сходства и отличия списков и очередей.

    2. Перечислите достоинства и недостатки линейных од-





    1. В чем заключается поиск в списке?

109


    1. Измените функцию поиска в односвязном списке так, чтобы не использовалась локальная переменная Success.

    2. Упростите функцию поиска в односвязном списке так,

чтобы она находила только звено с искомыми данными, но не предыдущее звено.

    1. Упростите функцию поиска в односвязном списке так, чтобы она находила только предыдущее по отношению к иско- мому звено.

    2. Изобразите структуру линейного односвязного списка.

    3. Изобразите структуру линейного двусвязного списка.

    4. Перечислите достоинства и недостатки линейных дву-





    1. Изобразите возможные структуры двусвязных кольце-





    1. Объясните назначение выделенного заглавного звена в


Download 1.98 Mb.

Do'stlaringiz bilan baham:
1   ...   27   28   29   30   31   32   33   34   ...   53




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