Professional Documents
Culture Documents
DS Assignment 2
DS Assignment 2
#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--];
}
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;
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;
stack<int> stack;
stack.push(-1);
int len = 0;
if (str[i] == '(')
{
stack.push(i);
}
else {
stack.pop();
if (stack.empty())
{
stack.push(i);
continue;
}
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;
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;
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
{
int main()
{
PrintMinNumberForPattern("IDID");
PrintMinNumberForPattern("I");
PrintMinNumberForPattern("DD");
PrintMinNumberForPattern("II");
PrintMinNumberForPattern("DIDI");
PrintMinNumberForPattern("IIDDD");
PrintMinNumberForPattern("DDIDDIID");
return 0;
}
Number 6
#include <iostream>
#include <queue>
void print(priority_queue<int> i)
priority_queue<int> n= i;
while (!n.empty())
n.pop();
int main()
{
priority_queue<int> queue ;
queue.push(1);
queue.push(300);
queue.push(200);
queue.push(50);
queue.push(1000);
print(queue);
queue.pop();
print(queue);
return 0;
}
Number 7
#include <iostream.h>
#include <conio.h>
void main()
{
int i, k;
float arr[100];
clrscr();
getch();
}