М. Э. Абрамян Programming Taskbook


Динамические структуры данных



Download 0,55 Mb.
Pdf ko'rish
bet54/73
Sana24.02.2022
Hajmi0,55 Mb.
#249225
1   ...   50   51   52   53   54   55   56   57   ...   73
Bog'liq
Abramyan (programmalash)

Динамические структуры данных
Данный раздел содержит описание варианта группы Dynamic, предназна-
ченного для языков программирования Pascal и C++.
Все числа, упоминаемые в заданиях данной группы, являются целыми.
Все указатели имеют тип PNode и указывают на записи типа TNode. Типы
PNode и TNode описаны в варианте задачника для языка Pascal следующим
образом:
type
PNode = ^TNode;
TNode = record
Data: integer;
Next: PNode;
Prev: PNode;
end;
Аналогично описываются эти типы в варианте задачника для языка С++:
struct TNode
{
int Data;
TNode* Next;
TNode* Prev;
};
typedef TNode* PNode;
Во вводных заданиях Dynamic1–Dynamic2, а также в заданиях на стек и
очередь (Dynamic3–Dynamic28) при работе с записями типа TNode использу-
ются только поля Data и Next (см. задание Dynamic1); в заданиях на списки
(Dynamic29–Dynamic80) используются все поля записи TNode (см. задание
Dynamic29).
Так как переменные типа «указатель» предназначены для хранения ад-
ресов, в формулировках заданий слова «указатель» (на элемент данных) и
«адрес» (элемента данных) используются как синонимы.


Динамические структуры данных
117
В заданиях, в которых идет речь о номерах элементов списка, предпола-
гается, что элементы списка нумеруются от 1.
Для обозначения нулевого указателя в формулировках заданий использу-
ется имя nil (как в языке Pascal).
Dynamic1. Дан адрес P
1
записи типа TNode, содержащей поле Data (целого
типа) и поле Next (типа PNode — указателя на TNode). Эта запись связана
полем Next со следующей записью того же типа. Вывести значения полей
Data обеих записей, а также адрес P
2
следующей записи.
Dynamic2

. Дан адрес P
1
записи типа TNode. Эта запись связана полем Next
со следующей записью того же типа, она, в свою очередь, — со следую-
щей, и так далее до записи, поле Next которой равно nil (таким образом,
возникает цепочка связанных записей). Вывести значения полей Data для
всех элементов цепочки, длину цепочки (то есть число ее элементов) и
адрес ее последнего элемента.
Стек
В заданиях Dynamic3–Dynamic13 структура «стек» (stack) моделируется
цепочкой связанных узлов-записей типа TNode (см. задание Dynamic2). Поле
Next последнего элемента цепочки равно nil. Вершиной стека (top) считается
первый элемент цепочки. Для доступа к стеку используется указатель на его
вершину (для пустого стека данный указатель полагается равным nil). Значе-
нием элемента стека считается значение его поля Data.
Dynamic3

. Дано число и указатель P
1
на вершину непустого стека. Доба-
вить элемент со значением в стек и вывести адрес P
2
новой вершины
стека.
Dynamic4. Дано число (> 0) и набор из чисел. Создать стек, содержа-
щий исходные числа (последнее число будет вершиной стека), и вывести
указатель на его вершину.
Dynamic5

. Дан указатель P
1
на вершину непустого стека. Извлечь из стека
первый (верхний) элемент и вывести его значение D, а также адрес P
2
новой вершины стека. Если после извлечения элемента стек окажется
пустым, то положить P
2
= nil. После извлечения элемента из стека осво-
бодить память, занимаемую этим элементом.
Dynamic6. Дан указатель P
1
на вершину стека, содержащего не менее деся-
ти элементов. Извлечь из стека первые девять элементов и вывести их


118
М. Э. Абрамян. Электронный задачник Programming Taskbook 4.6
значения. Вывести также адрес новой вершины стека. После извлечения
элементов из стека освобождать память, которую они занимали.
Dynamic7. Дан указатель P
1
на вершину стека (если стек пуст, то P
1
= nil).
Извлечь из стека все элементы и вывести их значения. Вывести также ко-
личество извлеченных элементов (для пустого стека вывести 0). После
извлечения элементов из стека освобождать память, которую они занима-
ли.
Dynamic8

Download 0,55 Mb.

Do'stlaringiz bilan baham:
1   ...   50   51   52   53   54   55   56   57   ...   73




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

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish