Доклад: Основні принципи модульного програмування та стеки
Алгоритм побудови черги
1. Виділити пам'ять під поточний елемент черги new(curr).
2. Запам'ятати покажчик на перший елемент first:=curr;
3. Запам'ятати покажчик на попередній елемент prev:=curr;
4. Ввести дані в пам'ять: readln(curr^.data)
5. Встановити покажчик на наступний елемент сигг^.nехt:=nіІ;
6. Зв'язати поточний елемент із попереднім, перепризначивши покажчик prev^.next :=curr;
7. Виділити пам'ять під новий елемент та повторити дії пп.3-7.
7.1.2. Приклад програми. Умова задачі.
Побудувати список з одночасним впорядкування елементів списку в порядку зростання. Виконати операції додавання, вилучення, друкування елементів списку.
Алгоритм
1. Список порожній.
2. Повторювати дії, поки не натиснута клавіша 'Q':
2.1. Виведення списку на екран.
2.2. Додавання елементів до списку і їх сортування:
2.2.1. Виділити пам'ять для нового елемента;
2.2.2. Ввести елемент в пам'ять;
2.2.3. Якщо список порожній, то перепризначити покажчик на новий елемент, покажчику на наступний елемент присвоїти значення nil;
2.2.4. Якщо список не порожній, то, якщо нове значення елемента менше першого, розмістити елемент на початку списку;
2.2.5. Інакше пошук місця вставки нового елемента в списку елементів.
2.3. Вилучення заданого елемента:
2.3.1. Якщо список не порожній, то - ведення елемента, що вилучається;
2.3.2. Якщо потрібний елемент знайдений, то перепризначити покажчики; в противному різі виконувати пошук потрібного елемента, вилучення його і звільнення пам'яті.
3. Кінець.
Приклад програми
Умова задачі: Організувати список із операціями впорядкування елементів, вилучення елементів із списку, друкування списку.
uses crt;
type
ptr=^zap; {тип покажчик на запис}