Site icon T4Tutorials.com

Which of the following principle does stack use?

Which of the following principle does stack use?

(A). Linear data structure

(B). LIFO

(C). Hierarchical data structure

(D). None of these

Question’s Answer: LIFO

FIFO means first element added to the queue is the first one to be removed from queue.

Data Structure Principle
Stack LIFO
Queue FIFO
Array linear data structure without an inherent ordering principle
Tree hierarchical data structure without an inherent ordering principle
Linked List linear data structure without an inherent ordering principle

Example

/* C++ program to implement basic stack
operations */
#include <bits/stdc++.h>

using namespace std;

#define Maximum 20

class Stack {
	int top;

public:
	int a[Maximum]; // Maximum size of Stack

	Stack() { top = -1; }
	bool push(int x);
	int pop();
	int peek();
	bool isEmpty();
};

bool Stack::push(int x)
{
	if (top >= (Maximum - 1)) {
		cout << "Stack Overflow";
		return false;
	}
	else {
		a[++top] = x;
		cout << x << " pushed into stack"<<endl;;
		return true;
	}
}

int Stack::pop()
{
	if (top < 0) {
		cout << "Sorry! Stack Underflow";
		return 0;
	}
	else {
		int x = a[top--];
		return x;
	}
}
int Stack::peek()
{
	if (top < 0) {
		cout << "Great! Stack is Empty";
		return 0;
	}
	else {
		int x = a[top];
		return x;
	}
}

bool Stack::isEmpty()
{
	return (top < 0);
}

// Driver program to test above functions
int main()
{
	class Stack s;
	s.push(3);
	s.push(7);
	s.push(1);
	cout << s.pop() << " Popped from stack"<<endl;;
	
	//display top element of stack after popping
	cout << "Top element is : " << s.peek() << endl;
	
	//display all elements in stack :
	cout <<"Elements present in stack : ";
	while(!s.isEmpty())
	{
		// display top element in stack
		cout << s.peek() <<" ";
		// remove top element in stack
		s.pop();
	}

	return 0;
}

Output

3 pushed into stack
7 pushed into stack
1 pushed into stack
1 Popped from stack
Top element is : 7
Elements present in stack : 7 3

Exit mobile version