Welcome to Virtually helps.
www.vuhelp.com
For public part of the Throttle declaration below, mark each function member header as
follows:
• Mark C for any constructor;
• mark X for any function that is forbidden from changing the throttles data fields.
class Throttle
{
public:
Throttle( );
Throttle(int size);
void shut_off( );
void shift(int amount);
double flow( ) const;
bool is_on( ) const;
...
Answer/Solution
class Throttle
{
public:
Throttle( ); C
Throttle(int size); C
void shut_off( );
void shift(int amount);
double flow( ) const; X
bool is_on( ) const;X
...
Question No: 14 Marks: 5
I am going to execute this code with THREE pushes and ONE pop:
Stack s;
s.push(1);
s.push(2);
s.push(3);
cout <<>
Suppose that the stack s is represented by a fixed-sized array. Draw the state of the private
member variables “data” and “top” of “s” after the above code:
Answer/Solution
0 1 2 3 4 5 6 7 8 9
1 2 Top 1
Question No: 15 Marks: 10
Complete the body of this function. Use a Queue of characters to store the input line as
it is being read.
int counter( )
// Precondition:
// There is a line of input waiting to be read from cin.
// Postcondition:
// A line of input has been read from cin, up to but not
// including the newline character. The return value of
// the function is the number of times that the LAST
// character of the line appeared somewhere in this line.
// EXAMPLE
// Input: ABBXDXXZX The value returned by counter would
// be 4 for this input since there are 4 X’s in
// the input line.
{
int answer = 0;
Queue q;
Answer/Solution
int counter()
{
char a[100];
int i=0;
int answer=0;
Queue q;
cin.getline(a,98,'\n');
for(i=0;i
{
q.enqueue(a[i]);
}
i--;
while(!q.isEmpty())
{
if(a[i]==q.dequeue())
{
answer++;
}
}
return answer;
}
Question No: 16 Marks: 5
I am going to execute this code with THREE inserts and ONE remove:
Queue s;
s.insert(1);
s.insert(2);
s.insert(3);
cout <<>
Suppose that s is represented by a singly linked linked list. Draw the linked list and the state of the
private member variables of s after the above code:
front_ptr
rear_ptr
Answer/Solution
Question No: 17 Marks: 10
Consider CList and Node classes defined as follows:
class Node
{
public:
Node *next;
Node *prev;
int data;
};
class CList
{
public:
void insertHead(int);
void insertTail(int);
void removeHead();
void removeTail();
bool isEmpty();
bool find(int);
private:
Node *head;
Node *tail;
};
A. write the body of the member function insertHead which inserts a new element at the head
of the list.
void Clist::insertHead( int x )
{
B. write the body of the member function removeTail which removes the element at the tail of
the list.
void Clist::removeTail( int x )
{
Front_prt
2 3
rear_prt
Answer/Solution
(a) Solution for Question 17 option (a)
void CList::insertHead(int x)
{
Node *newNode=new Node();
newNode->data=x;
newNode->next=NULL;
newNode->prev=NULL;
if(isEmpty())
head=tail=newNode;
else
{
newNode->next=head;
newNode->prev=NULL;
head->prev=newNode;
head=newNode;
}
}
(b) Solution for Question 17 option (b)
void CList::removeTail(int &x)
{
if(isEmpty())
return;
else
{
Node *p=tail;
if(head==tail)
head=tail=NULL;
else
{
tail=tail->prev;
tail->next=NULL;
}
x=p->data;
delete p;
return;
}
}
Question No: 18 Marks: 10
Trace the running of the infix to postfix conversion algorithm on the infix expression
(A - B) + C/D
Answer/Solution
Symbol Postfix Stack
( (
A A (
- A (-
B AB (-
)
(
+
C AB-C +
/ AB-C +/
Question No: 19 Marks: 13
Here is a small binary tree:
A. What are all the leaves? (2pts)
C. What are the ancestors of the node 10? (2pts)
D. What are the descendants of the node 30? (2pts)
E. Is the tree a binary search tree (BST) (true/false)? (2pts)
F. Print the tree when visited in post-order manner? (5pts)
Answer/Solution
A) Leaves of the tree = 1,3,7,40
B) Ancestors of the node 10 = 11,14
C) Descendants of the node 30 = 40
D) Is the tree a binary search tree (BST) (true/false) False
E) Post Order Traversal = 1,3,2,7,10,40,30,11,14
Contact vuhelps@gmail.com
Regards
Vuhelps
No comments:
Post a Comment