стековые операции (основная функция) - PullRequest
0 голосов
/ 17 марта 2020

Итак, я реализовал операции Stack basi c в c ++. Я написал функции, но не знаю, как реализовать функцию main таким образом, чтобы увидеть значения из стека.

заголовочный файл

#ifndef HEADER_H_
#define HEADER_H_
#define DIM 15
typedef int Atom;

struct Element {
    Atom data;
    Element *link;
};

typedef Element* LinkedStack;

void initS(LinkedStack &S);
void push(LinkedStack &S, Atom a);
bool isEmpty2(LinkedStack &S);
void pop2(LinkedStack &S);
Atom top2(Stack &S);
#endif

Файл функций

void initS(LinkedStack &S)
{
    S = nullptr;
}

void push(LinkedStack &S, Atom a)
{
    Element*nou = new Element;
    nou->data = a;
    nou->link = S;
    S = nou;
}

bool isEmpty2(LinkedStack &S)
{
    if (S == 0)
        return true;
    else return false;
}

void pop2(LinkedStack &S)
{
    LinkedStack aux = S;
    S = S->link;
    delete(aux);
}

Atom top2(LinkedStack &S)
{
    if (isEmpty2(S))
        return Atom();
    return S->data;
}

Как я реализовал основную функцию. Я не знаю, как увидеть значения, например, если я пишу cout <<pre>#include <iostream> #include "header.h" using namespace std; int main() { LinkedStack S; initS(S); push(S, 2); push(S, 4); push(S, 6); push(S, 7); push(S, 10); return 0; } After I compile the program I don't see nothing in console.How to see the values from stack?

...