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

UptoLike

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

FirstX->p = 0;
return FirstX;
}
Следующая функция Push() заносит последующие элементы A в стек. В ней *Top -
указатель на вершину стека.
void Push(X **Top, int A)
{
X *ElementX;
ElementX = (X *)malloc(sizeof(X));
ElementX->Value = A;
ElementX->p = *Top;
*Top = ElementX;
}
Функция Pop() осуществляет выборку элементов из стека:
int Pop(X **Top)
{
int n = (*Top)->Value;
X *ElementX = *Top;
*Top = (*Top)->p;
free(ElementX);
return n;
}
Рассмотрим пример использования функций. Первоначально создается один эле-
мент со значением 0; далее в стек помещаются элементы со значениями от 1 до 7; после
этого элементы последовательно извлекаются из стека
и выводятся на экран. В заголо-
вочном файле function.h приведен исходный код всех вышеперечисленных функций. В
результате выполнения программы на экран будут выведены значения:
7 6 5 4 3 2 1 0
#include <stdio.h>
#include <stdlib.h>
#include "function.h"
struct X
{
int Value;
X *p;
};
int main()
{
X *top = FirstElement(0);
for (int i = 1; i<8; i++)
Push(&top, i);
while (top)
printf("%d ",Pop(&top));
return 0;
}
69
       FirstX->p = 0;
       return FirstX;
}

     Следующая функция Push() заносит последующие элементы A в стек. В ней *Top -
указатель на вершину стека.

void Push(X **Top, int A)
{

       X *ElementX;
       ElementX = (X *)malloc(sizeof(X));
       ElementX->Value = A;
       ElementX->p = *Top;
       *Top = ElementX;
}

      Функция Pop() осуществляет выборку элементов из стека:

int Pop(X **Top)
{
       int n = (*Top)->Value;
       X *ElementX = *Top;
       *Top = (*Top)->p;
       free(ElementX);
       return n;
}

     Рассмотрим пример использования функций. Первоначально создается один эле-
мент со значением 0; далее в стек помещаются элементы со значениями от 1 до 7; после
этого элементы последовательно извлекаются из стека и выводятся на экран. В заголо-
вочном файле function.h приведен исходный код всех вышеперечисленных функций. В
результате выполнения программы на экран будут выведены значения:
7 6 5 4 3 2 1 0

#include 
#include 
#include "function.h"
struct X
{
        int Value;
        X *p;
};
int main()
{
        X *top = FirstElement(0);
        for (int i = 1; i<8; i++)
                 Push(&top, i);
        while (top)
                 printf("%d ",Pop(&top));
        return 0;
}

                                            69