Программирование на языке высокого уровня. Марапулец Ю.В. - 67 стр.

UptoLike

Составители: 

В заголовочном файле function.h приведен исходный код всех вышеперечисленных
функций. В результате выполнения программы на экран будут выведены значения:
0 1 2 3 4 5 7
#include <stdio.h>
#include <stdlib.h>
#include "function.h"
struct X
{
int Value;
X *Next;
X *Prev;
};
int main()
{
X *first = FirstElement(0); // Формирование первого элемента списка
X *end = first; //Конец списка на его начале
// Добавление в конец списка четырех элементов 3, 4, 5, 6 и 7:
for (int i = 3; i<8; i++)
AddElement(&end, i);
// Вставка элемента 1 после элемента 0:
InsertElement(first, &end, 0, 1);
// Удаление элемента 6:
if(!RemoveElement (&first, &end, 6))
printf("Don't find Element\n");
// Вставка элемента 2 по сортировке
SortElement(&first,&end, 2);
// Вывод списка на экран
X *element = first;
while (element)
{
printf("%d ",element->Value);
element = element->Next;
}
return 0;
}
2.9.3. Стеки
Операции вставки и извлечения элементов из линейного списка адресные - они ис-
пользуют номер
элемента (индекс). Если ограничить возможности изменения последо-
вательности только ее концами, получим структуры данных, называемые
стеком и оче-
редью. Стек- последовательность элементов, включение элементов в которую и исклю-
чение из которой производится только с одного конца. Начало последовательности на-
зывается дном стека, конец последовательности, в который добавляются элементы и из
которых они исключаются, - вершиной стека. Операция добавления нового элемента
(запись в стек) имеет общепринятое название Push (погрузить), операция исключения -
Pop (звук выстрела). Операции Push и Pop безадресные: для их выполнения никакой до-
полнительной информации о месте размещения элементов не требуется. Таким образом,
стек - это частный случай однонаправленного списка, добавление элементов в который и
67
В заголовочном файле function.h приведен исходный код всех вышеперечисленных
функций. В результате выполнения программы на экран будут выведены значения:
0 1 2 3 4 5 7

#include 
#include 
#include "function.h"

struct X
{
        int Value;
        X *Next;
        X *Prev;
};

int main()
{
        X *first = FirstElement(0); // Формирование первого элемента списка
        X *end = first; //Конец списка на его начале
// Добавление в конец списка четырех элементов 3, 4, 5, 6 и 7:
        for (int i = 3; i<8; i++)
                 AddElement(&end, i);
// Вставка элемента 1 после элемента 0:
        InsertElement(first, &end, 0, 1);
// Удаление элемента 6:
        if(!RemoveElement (&first, &end, 6))
                 printf("Don't find Element\n");
// Вставка элемента 2 по сортировке
        SortElement(&first,&end, 2);
// Вывод списка на экран
        X *element = first;
        while (element)
        {
                 printf("%d ",element->Value);
                 element = element->Next;
        }
return 0;
}

      2.9.3. Стеки

      Операции вставки и извлечения элементов из линейного списка адресные - они ис-
пользуют номер элемента (индекс). Если ограничить возможности изменения последо-
вательности только ее концами, получим структуры данных, называемые стеком и оче-
редью. Стек- последовательность элементов, включение элементов в которую и исклю-
чение из которой производится только с одного конца. Начало последовательности на-
зывается дном стека, конец последовательности, в который добавляются элементы и из
которых они исключаются, - вершиной стека. Операция добавления нового элемента
(запись в стек) имеет общепринятое название Push (погрузить), операция исключения -
Pop (звук выстрела). Операции Push и Pop безадресные: для их выполнения никакой до-
полнительной информации о месте размещения элементов не требуется. Таким образом,
стек - это частный случай однонаправленного списка, добавление элементов в который и

                                          67