You are on page 1of 9

Number 1

#include <iostream>
using namespace std;

class stack{

public:
char *arr;
int top=-1;
stack(int len)
{
arr=(char *)calloc(sizeof(char),len);
}

char pop(){
return arr[top--];
}

void push(char c){


arr[++top]=c;
}
};

string reversesentence(string s)
{

stack stk(s.size());
string res;

for(int i=0;i<s.size();i++)
{
stk.push(s[i]);
}

for(int i=0;i<s.size();i++)
{
char c= stk.pop();
res+=c;
}

return res;
}
int main()
{
string s="Hello World";
cout<<reversesentence(s);
}
Number 2

#include<bits/stdc++.h>
using namespace std;
void printQueue(stack<int> stack)
{
while (!stack.empty()) {
cout << stack.top() << " ";
stack.pop();
}
}
stack<int> reverseQueue(queue<int> q)
{
stack<int> temp;
while(!q.empty()) {
int data = q.front();
q.pop();
temp.push(data);
}
return temp;
}

int main()
{
int count = 0, n, element;
cout<<"How many Number of elements you want to enter :";
cin>>n;

queue<int> Q;
for (int i=0;i<n;i++)
{
cin>>element;
Q.push(element);
}
stack<int> s=reverseQueue(Q);
printQueue(s);
}
Number 3

#include <bits/stdc++.h>
using namespace std;

bool areBracketsBalanced(string expr)


{
stack<char> s;
char x;

for (int i = 0; i < expr.length(); i++)


{
if (expr[i] == '(' || expr[i] == '['
|| expr[i] == '{')
{

s.push(expr[i]);
continue;
}

if (s.empty())
return false;

switch (expr[i]) {
case ')':

x = s.top();
s.pop();
if (x == '{' || x == '[')
return false;
break;

case '}':

x = s.top();
s.pop();
if (x == '(' || x == '[')
return false;
break;

case ']':

x = s.top();
s.pop();
if (x == '(' || x == '{')
return false;
break;
}
}

return (s.empty());
}

int main()
{
string expr = "(){}[]()()()[]";

if (areBracketsBalanced(expr))
cout << "Balanced";
else
cout << "Not Balanced";
return 0;
}

Number 4
#include <iostream>
#include <stack>
using namespace std;

int findMaxLen(string str)


{

stack<int> stack;

stack.push(-1);

int len = 0;

for (int i = 0; i < str.length(); i++)


{

if (str[i] == '(')
{
stack.push(i);
}

else {
stack.pop();

if (stack.empty())
{
stack.push(i);
continue;
}

int curr_len = i - stack.top();

if (len < curr_len) {


len = curr_len;
}
}
}

return len;
}

int main()
{
cout << findMaxLen("((()()") << endl; // prints 4
cout << findMaxLen("(((()") << endl; // prints 2
cout << findMaxLen("((((") << endl; // prints 0
cout << findMaxLen("()()") << endl; // prints 4
cout << findMaxLen("(()())(()"); // prints 6

return 0;
}

Number 5

#include <bits/stdc++.h>
using namespace std;

void PrintMinNumberForPattern(string arr)


{

int last_entry = 0;
int j;
for (int i=0; i<arr.length(); i++)
{
int noOfNextD = 0;
switch(arr[i])
{
case 'I':
j = i+1;
while (arr[j] == 'D' && j < arr.length())
{
noOfNextD++;
j++;
}

if (i==0)
{
curr_max = noOfNextD + 2;

cout << " " << ++last_entry;


cout << " " << curr_max;
last_entry = curr_max;
}
else
{

curr_max = curr_max + noOfNextD + 1;


last_entry = curr_max;
cout << " " << last_entry;
}

for (int k=0; k<noOfNextD; k++)


{
cout << " " << --last_entry;
i++;
}
break;
case 'D':
if (i == 0)
{

j = i+1;
while (arr[j] == 'D' && j < arr.length())
{
noOfNextD++;
j++;
}

curr_max = noOfNextD + 2;

cout << " " << curr_max << " " << curr_max - 1;

last_entry = curr_max - 1;
}
else
{

cout << " " << last_entry - 1;


last_entry--;
}
break;
}
}
cout << endl;
}

int main()
{
PrintMinNumberForPattern("IDID");
PrintMinNumberForPattern("I");
PrintMinNumberForPattern("DD");
PrintMinNumberForPattern("II");
PrintMinNumberForPattern("DIDI");
PrintMinNumberForPattern("IIDDD");
PrintMinNumberForPattern("DDIDDIID");
return 0;
}

Number 6

#include <iostream>

#include <queue>

using namespace std;

void print(priority_queue<int> i)

priority_queue<int> n= i;

while (!n.empty())

{ cout << '\t' << n.top();

n.pop();

cout << '\n';

int main()
{

priority_queue<int> queue ;

queue.push(1);

queue.push(300);

queue.push(200);

queue.push(50);

queue.push(1000);

cout << "The priority queue is : ";

print(queue);

cout << "\nqueue.size() : " << queue.size();

cout << "\nqueue.top() : " << queue.top();

cout << "\nqueue.pop() : ";

queue.pop();

print(queue);

return 0;

}
Number 7

#include <iostream.h>
#include <conio.h>
void main()
{

int i, k;
float arr[100];
clrscr();

cout << "Enter total number of elements(1 to 100): ";


cin >> k;
cout << endl;

for(i = 0; i < k; ++i) {


cout << "Enter Number " << i + 1 << " : ";
cin >> arr[i];
}

for(i = 1;i < k; ++i) {

if(arr[0] < arr[i])


arr[0] = arr[i];
}

cout << endl << "Largest element = " << arr[0];

getch();
}

You might also like