Answers for "stack with struct in c++"

C++
0

stack data structure c++

#include<iostream>
#include<stack>
using namespace std;
bool isValid(string s) {
	stack<char> st;
	for (int i = 0; i < s.length(); i++)
	{
		if (s[i] == '(' || s[i] == '{' || s[i] == '[')
			st.push(s[i]);
		if (!st.empty())
		{
			if (s[i] == ')')
			{
				if (st.top() == '(')
				{
					st.pop();
					continue;
				}
				else
					break;
			}
			//
			if (s[i] == '}')
			{
				if (st.top() == '{')
				{
					st.pop();
					continue;
				}
				else
					break;
			}
			//
			if (s[i] == ']')
			{
				if (st.top() == '[')
				{
					st.pop();
					continue;
				}
				else
					break;
			}
		}
		else
			return false;
	}
	return st.empty() ? true : false;
}
int main()
{
	string s;
	cin >> s;
	cout << isValid(s) << "\n";
	return 0;
}
Posted by: Guest on February-20-2022
0

stack in c++

#include <iostream>

using namespace std;
#define M 100 //defined the size of the stack ;

//stack class for controlling

class STACK
{
    int ara[M]; // declared an array for storing the stack elemenst
    int top; // finding the top value
public:
    //function for pushing values into the stack
    STACK() // constructor for initializing
    {
        top = 0;
    }
    void push(int n)
    {
        if(top == M) // checking if the stack is full or not
        {
            cout << "Stack is full\n";
            return;
        }else // if the stack is not full, push the element
        {
            ara[top] = n;
            top++;
        }
    }
    //function for poping out elements from the stack or getting the elements
    int pop()
    {
        if(top == 0)
        {
            cout << "Stack is empty\n";
            return 0;
        }else
        {
            top--;
            return ara[top];
        }
    }
    
};


int main()
{
    STACK stk1, stk2; //making two objects of type STACK
    
    //pushing elements
    for(int i = 0; i < 5; i++)
    {
        stk1.push(i);
        stk2.push(i+1);
    }
    
    //poping elements
    for(int i = 0; i < 5; i++)
    {
        cout << stk1.pop() << " ";
    }
    
    cout << "\n";
    
    for(int i = 0; i < 5; i++)
    {
        cout << stk2.pop() << " ";
    }
    cout << "\n";
    return 0;
}
Posted by: Guest on January-24-2022

Browse Popular Code Answers by Language