Long Answer Type Questions [4 marks each]
Question 1:
Define member function delque() to perform delete operation on a linked queue where each node has the following structure :
struct node { char name[20] int marks; node *link; }; class queue { node *front,‘rear; public : queue() {front=rear=NULL; } void delque ( ); }; [CBSE Comptt., 2014]
Answer:
void queue : : delque () { if ( front != NULL) { node *Temp = front; cout << Temp -> name << Temp ->marks; front = front->link; delete Temp; if(front == NULL) rear = NULL; } else cout << "Queue is empty"; } (4 marks for correct program)
Question 2:
Give the necessary declaration of linked’ implemented Queue containing players information (as defined in the following definition of Node). Also write a user defined function in C++ to delete one Player’s information from the Queue.
[CBSE Comptt., 2013]
struct node { int Player No ; char PlayerName[20]; Node*Link; }
Answer:
NODE *QUEUEDEL(Node * front, int val, char val2[ ])
{ Node *temp; if (front ==NULL) [1] cout<<"Queue EMPTY"; { else { temp=front ; temp®PlayerNo=val; [1] strcpy (temp®PlayerName, val2); front=front®Link; [1] delete temp; } return (front); } [1]
Question 3:
Write a function QDELETE ( ) in C++ to perform delete operation on a Linked Queue, which contains Passenger no and Passenger name. Consider the following definition of Node in the code,
struct node { long int Pno; char Pname [20]; node *Link; }; [O.D, 2013]
Answer:
//Function to delete queue elements Node * QUEUE (Node * front, int val, char vail [])
{ Node *temp; if (front == NULL) cout <<"Queue Empty"; else { temp = front; temp®Pno=val; strcpy (temp®Pname, vail); front = front®Link; delete temp; } return (front); } [4]
Question 4:
Write a function QINSERT() in C+ + to perform insert operation on a Linked Queue, which contains Client no and Client name. Consider the following definition of NODE in the code of . QINSERT (). [Delhi, 2013]
struct Node { long int Cno; // Client No char Cname [20]; // Client Name Node *Next ; };
Answer:
Function to Insert element
Node * QINSERT (Node *rear, int val),
char val [] { Node *temp; temp = new Node; temp®Cno = val; strcpy (temp®Cname, val); temp®NEXT=NULL; rear®NEXT=temp; rear=temp; return (rear); } [4]
Question 5:
Write a function in C++ to perform Insert operation in a circular Queue containing Layer’s information (represented with the help of an array of structure Player). [CBSE SQP 2013]
struct Player { long PID; //Player ID char Pname [20];} //Player Name Player*Link; }
Answer:
void Insert ( ) { PLAYER *P = new PLAYER; cout <<"Enter Player ID & Name"; cin>>P→PID; gets (P→ Pname); P®Link=NULL; if ((fronts = NULL) && (rear == NULL)) { front = rear = P; } else { rear®Link = P; rear = P; } } [4]
Question 6:
Write a function in C++ to perform insert operation in a static circular queue containing book’s information (represented with the help of an array of structure BOOK). [O.D, 2012]
struct BOOK { long Accno; //Book Accession Number char Title[20]; //Book Title };
Answer:
struct BOOK { long Accno; char Title [20] ; int front, rear; }B [10] ; void insert() { if (r e a r = = s i z e - l & & f r o n t = = 0||front== rear+1) { cout<<"\n Circular queue is full"; return; } else if(rear==-l) { rear++; front++; } else if(rear==size-1) rear=0; else { rear++; } cout<<"Enter Title : ” ; cin>>B[rear] . Title; cout<<"Enter Accno : ” ; cin>>B[rear] . Accno; } [4]
Question 7:
Write a function in C++ to perform insert operation in a dynamic queue containing DVD’s information (represented with the help of an array of structure DVD). [Delhi, 2012]
Answer:
/*Function in C++ to perform insert in a dynamic queue is given as*/
struct DVD { long No; // DVD Number char Title[20]; // DVD Title DVD *Link }; void insert(struct DVD *start, char data[20] ) ; { DVD *q, *temp; // Dynamic memory has been allocated for a node temp=(DVD*)malloc(size of (DVD)); temp=Title[20]=data[20] ; temp"Next=NULL; if (start = = NULL) /*Element inserted at end*/ while (q"Next ! = NULL) q=q.Next; q.Next = temp; } [4]
Question 8:
Write the definition of a member function INSERT() for a class QUEUE in C++, to insert a CUSTOMER in a dynamically allocated Queue of items considering the following code which is already written as a part of the program,
struct CUSTOMER { int CNO; char CNAME[20]; CUSTOMER *Link; }; Class QUEUE { CUSTOMER *R,*F; Public: QUEUE(){R=NULL;F=NULL;} void INSERT(); void DELETE() -QUEUE(); }; [CBSE SQP 2013]
Answer:
void QUEUE : : INSERT () { CUSTOMER*T=New CUSTOMER; cin>>T>>; gets(T→CNAME); //OR cin>>T>>CNAME; T → LINK = NULL; if (R==NULL) { F=T; R=T; } else { R → LINK = T; R = T; } }
(1 Mark for correct a new code)
(1/2 Mark for entering data to new code)
(1/2Mark for assigning NULL to link of the new code)
(1/2 Mark for assigning front to the first code as L=T)
(1/2 Mark for linking the last node to new code as R→Link=T)
(1 Mark for assign Read to the new code as R=T)