Я реализовал стек по связанному списку, как вы можете видеть ниже, но я не могу получить максимальный размер для работы.Я хочу, чтобы в стеке хранилось не более 20 элементов, а также отображается, когда стек заполнен.
#include <iostream>
using namespace std;
struct Node
{
int data;
Node *link;
};
Node *top = NULL;
bool isempty()
{
if(top == NULL)
return true; else
return false;
}
void push (int value)
{
Node *ptr = new Node();
ptr->data = value;
ptr->link = top;
top = ptr;
}
void pop ( )
{
if ( isempty() )
cout<<"Stack is Empty";
else
{
cout << "pop element" << endl;
Node *ptr = top;
top = top -> link;
delete(ptr);
}
}
void showTop()
{
if ( isempty() )
cout<<"Stack is Empty";
else
cout<<"Element at top is : "<< top->data << endl;
}
void displayStack()
{
//print stack
if ( isempty() )
cout<<"Stack is Empty" << endl;
else
{
cout << "Stack: " << endl;
Node *temp=top;
while(temp!=NULL)
{ cout<<temp->data<<" ";
temp=temp->link;
}
cout<<"\n";
}
}
Я хотел бы иметь функцию, подобную моей isEmpty (), но isFull () для отображения стекаполный, когда 20 предметов в стеке.Я не включил свою основную функцию в приведенный выше фрагмент, так как я просто вызываю свои функции.
Спасибо за все ценные предложения :) Я достаточно хорошо знаю c ++, так что успокойтесь.