Составители:
Рубрика:
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
Страницы
- « первая
- ‹ предыдущая
- …
- 67
- 68
- 69
- 70
- 71
- …
- следующая ›
- последняя »
