Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people, just like you, are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
Solved

How do I display what is in a stack?

Posted on 2008-06-20
2
532 Views
Last Modified: 2008-06-21
Here is my code how do I display what is in the stack?


#include <iostream>
#include <stack>
 
using namespace std;
 
void Menu();
void Add();
void Display();
void Remove();
 
stack<int> stackInt;
int name;
 
int main()
{
	Menu();
}
void Menu()
{
	int choice;
 
	cout << "Stack Menu Options\n";
	cout << "1 - Add int to stack\n";
	cout << "2 - Remove from top of stack\n";
	cout << "3 - Size of stack\n";
	cout << "0 - Quit program\n";
	cout << "Enter choice: ";
	cin >> choice;
	cout << endl;
 
	switch(choice)
	{
	case 1:
		Add();
		break;
	case 2:
		Remove();
		break;
	case 3:
		Display();
		break;
	case 0:
		exit(0);
	default:
		cout << "Not a selection, enter again!\n";
		Menu();
		break;
	}
}
 
void Add()
{
	cout << "Enter a number to add: ";
	cin >> name;
	stackInt.push(name);
	cout << endl;
	Menu();
}
 
void Display()
{
 
}
 
void Remove()
{
	stackInt.pop();
	Menu();
}

Open in new window

0
Comment
Question by:jschmuff
2 Comments
 
LVL 10

Accepted Solution

by:
oleber earned 500 total points
ID: 21836524
there is a simple recursive way

void Display()
{
   if (! stackInt.empty()) {
      int top = stackInt.top();
      cout << top << endl;
      stackInt.pop();
      Display();
      stackInt.push(top);
   }
}

0
 
LVL 53

Expert Comment

by:Infinity08
ID: 21836747
>> there is a simple recursive way

I wouldn't do it recursively if I were you. Depending on how big the stack is, you might run out of (program) stack space. Which is bad.

It's not very proper either, as the code actually empties the stack. What if the code is multi-threaded ? A display should not modify the contents of the container.

The STL stack does not provide a way to show its contents. So, I'd rather implement my own stack if I really need display functionality.
0

Featured Post

Free Tool: Port Scanner

Check which ports are open to the outside world. Helps make sure that your firewall rules are working as intended.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
mapAB Challlenge 35 155
Why isn't object file created? 6 68
find Speed using GPS latitude & longitude 4 39
learn programming 8 30
When writing generic code, using template meta-programming techniques, it is sometimes useful to know if a type is convertible to another type. A good example of when this might be is if you are writing diagnostic instrumentation for code to generat…
How to remove superseded packages in windows w60 or w61 installation media (.wim) or online system to prevent unnecessary space. w60 means Windows Vista or Windows Server 2008. w61 means Windows 7 or Windows Server 2008 R2. There are various …
The goal of this video is to provide viewers with basic examples to understand and use conditional statements in the C programming language.
The viewer will learn how to implement Singleton Design Pattern in Java.

790 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question