They will ask u question about single linked list?. Write
Code for to insert delete node.
Answers were Sorted based on User's Feedback
Answer / vadivelt
This code conatains the answer for add, del, insert node in
sigle linked list and some other possible operations
#include<stdio.h>
#include<conio.h>
#define ADDATBEG 1
#define ADDATEND 2
#define INSERT 3
#define DEL 4
#define SEARCH 5
#define SORT 6
#define REVERSE 7
#define NODEFROMEND 8
struct node
{
int data;
struct node *next;
};
struct node *BaseNode = '\0';
/*Function prototypes*/
void AddAtBeg(struct node **BaseNode, int data);
void AddAtEnd(struct node **BaseNode, int data);
void AddAtMid(struct node **BaseNode, int data, int pos);
void DelNode(struct node **BaseNode, int pos);
void DisList(struct node **BaseNode);
void SearchNode(struct node **BaseNode, int data);
void funchoice(int choice);
void SortList(struct node **BaseNode);
void NthNodeFrmEnd(struct node **BaseNode, int n);
void RevList(struct node **BaseNode);
int main()
{
int i, choice;
printf("ENTER THE CHOICE:\n");
printf("1.TO ADD THE NODE AT BEGINING - STACK \n2.TO ADD
THE NODE AT THE END - QUEUE\n");
printf("\nCHOICE:");
scanf("%d", &choice);
funchoice(choice);
printf("\n\nENTER CHOICE \n");
printf("3.TO INSERT NODE\n");
printf("4.TO DEL NODE\n");
printf("5.TO SEARCH GIVEN NODE IN THE LIST\n");
printf("6.TO SORT THE LIST\n");
printf("7.TO REVERSE THE LIST\n");
printf("8.VALUE OF 'N'th FROM LAST\n");
printf("\nCHOICE:");
scanf("%d", &choice);
funchoice(choice);
getch();
}
void funchoice(int choice)
{
int no = 0, element = 0,i;
switch(choice)
{
case ADDATBEG:
printf("\nENTER THE NO OF ELEMENTS TO BE ADDED\n");
scanf("%d", &no);
printf("\nENTER THE ELEMENTS TO BE ADDED IN THE
LIST\n");
for(i = 0; i<no; i++)
{
scanf("%d", &element);
AddAtBeg(&BaseNode, element);
}
DisList(&BaseNode);
break;
case ADDATEND:
printf("\nENTER THE NO OF ELEMENTS TO BE ADDED\n");
scanf("%d", &no);
printf("\nENTER THE ELEMENTS TO BE ADDED IN THE
LIST\n");
for(i = 0; i<no; i++)
{
scanf("%d", &element);
AddAtEnd(&BaseNode, element);
}
DisList(&BaseNode);
break;
case INSERT:
printf("\nENTER THE NODE POSTION WHERE THE NEW NODE
TO BE INSERTED\n");
scanf("%d", &no);
printf("\nENTER THE NO TO BE INSERTED\n");
scanf("%d", &element);
AddAtMid(&BaseNode, element, no);
DisList(&BaseNode);
break;
case DEL:
printf("\nENTER THE NODE POSTION OF THE NODE TO BE
DELETED\n");
scanf("%d", &no);
DelNode(&BaseNode, no);
DisList(&BaseNode);
break;
case SEARCH:
printf("\nENTER THE VALUE TO BE SEARCHED IN THE
LIST\n");
scanf("%d", &element);
SearchNode(&BaseNode, element);
break;
case SORT:
SortList(&BaseNode);
DisList(&BaseNode);
break;
case REVERSE:
RevList(&BaseNode);
DisList(&BaseNode);
break;
case NODEFROMEND:
printf("\nENTER THE NODE POSITION FROM END TO WHICH
THE VALUE HAS TO BE FOUND\n");
scanf("%d", &no);
NthNodeFrmEnd(&BaseNode, no);
break;
default:
exit(0);
break;
}
}
/*To print the data in the linked list*/
void DisList(struct node **BaseNode)
{
struct node *temp;
temp = *BaseNode;
printf("\nNODES IN THE LIST IS \n");
while(temp != '\0')
{
printf("%d ", temp->data);
temp = temp->next;
}
}
/*Stack Implementation*/
void AddAtBeg(struct node **BaseNode, int data)
{
struct node *temp;
temp = (struct node *)malloc(sizeof(struct node));
if(temp != '\0')
{
temp->data = data;
temp->next = *BaseNode;
*BaseNode = temp;
}
}
/*Queue Implementation*/
void AddAtEnd(struct node **BaseNode, int data)
{
struct node *temp, *temp1;
temp = *BaseNode;
if(temp == '\0')
{
/*List is empty - Create first node*/
temp1 = (struct node *)malloc(sizeof(struct node));
if(temp1 != '\0')
{
temp1->data = data;
temp1->next = '\0';
*BaseNode = temp1;
}
}
else
{
/*Node is existing already, So create another node*/
while(temp->next != '\0')
{
temp = temp->next;
}
temp1 = (struct node *)malloc(sizeof(struct node));
if(temp1 != '\0')
{
temp1->data = data;
temp1->next = '\0';
temp->next = temp1;
}
}
}
/*To insert a node between two nodes*/
void AddAtMid(struct node **BaseNode, int data, int pos)
{
/*To insert a node in between to the given node*/
struct node *temp, *temp1;
int count = 0;
temp = *BaseNode;
/*count, the no of nodes available in the list*/
while(temp->next != '\0')
{
count++;
temp = temp->next;
}
/*Check whether the enough nodes are available or not*/
if(pos <= (count+1))
{
temp = *BaseNode;
while(pos-1)
{
temp = temp->next;
pos--;
}
temp1 = (struct node *)malloc(sizeof(struct node));
if(temp1 != '\0')
{
temp1->data = data;
temp1->next = temp->next;
temp->next = temp1;
}
}
else
{
printf("NEW NODE CANT BE ADDED:THERE IS NO ENOUGH
NODES IN THE LIST\n");
}
}
/*To delete a particular node in the list*/
void DelNode(struct node **BaseNode, int pos)
{
struct node *temp, *temp1;
int count = 0, pos1;
temp = *BaseNode;
pos1 = pos;
/*count, the no of nodes available in the list*/
while(temp->next != '\0')
{
count++;
temp = temp->next;
}
/*Check whether the enough nodes are available or not*/
if(pos <= (count+1))
{
temp = *BaseNode;
temp1 = temp->next;
while(pos-2)
{
temp = temp->next;
temp1 = temp1->next;
pos--;
}
temp->next = temp1->next;
printf("\n\nTHE DATA '%d' AT THE NODE '%d' IS
DELETED \n\n", temp1->data, pos1);
free(temp1);
}
else
{
printf("\n\nGIVEN NODE CANT BE DELETED:THERE IS NO
ENOUGH NODES IN THE LIST\n");
}
}
/*To search the given data in the linked list*/
void SearchNode(struct node **BaseNode, int data)
{
struct node *temp;
int count = 0;
temp = *BaseNode;
while(temp != '\0')
{
count++;
if(temp->data == data)
{
printf("\nTHE NODE WITH DATA '%d' FOUND AT
THE POSITION '%d'\n", data, count);
break;
}
else if(temp->next == '\0')
{
printf("\nTHE NODE IS NOT FOUND IN THE
LIST\n");
}
temp = temp->next;
}
}
/*To Sort the linked list in ascending order*/
void SortList(struct node **BaseNode)
{
struct node *temp, *temp1;
int localvar;
temp = *BaseNode;
temp1 = temp->next;
while(temp1 != '\0')
{
if(temp->data > temp1->data)
{
localvar = temp->data;
temp->data = temp1->data;
temp1->data = localvar;
}
temp = temp->next;
temp1 = temp1->next;
}
}
/*To find the 'n'th node from last node of linked list by
traversing the list only once*/
void NthNodeFrmEnd(struct node **BaseNode, int n)
{
struct node *temp, *temp1;
int count = 0;
temp1 = temp = *BaseNode;
while(temp1 != '\0')
{
count++;
temp1 = temp1->next;
}
if(n <= count)
{
count = 0;
temp1 = *BaseNode;
while(temp1->next != '\0')
{
count++;
if(count > n-1)
{
temp = temp->next;
}
temp1 = temp1->next;
}
printf("\nNODE %d FROM LAST, HOLD THE VALUE %d\n",
n, temp->data);
}
else
{
printf("\nTHERE IS NO ENOUGH NODES IN THE LIST\n");
}
}
/*To Reverse a given linked list*/
void RevList(struct node **BaseNode)
{
struct node *Fst, *Sec, *Thrd;
Sec = (*BaseNode)->next;
Thrd = Sec->next;
(*BaseNode)->next = '\0';
while(Thrd != '\0')
{
Sec->next = *BaseNode;
*BaseNode = Sec;
Sec = Thrd;
Thrd = Thrd->next;
}
Sec->next = *BaseNode;
*BaseNode = Sec;
}
| Is This Answer Correct ? | 4 Yes | 1 No |
Answer / soumya
Represent a list of integers as singly linked list. Write
functions for ADD, DELETE and SEARCH operations.
#include<iostream>
using namespace std;
class student
{
int age;
student *nxt;
public:
void add_at_front();
void add_at_end();
void add_at_any();
void del_at_front();
void del_at_end();
void del_at_any();
void display();
void search();
};
student *start=NULL;
void student::add_at_front()
{
student *s1;
s1=new student;
cout<<"Enter the age";
cin>>s1->age;
s1->nxt=start;
start=s1;
}
void student:: add_at_end()
{
student *s1;
s1=new student;
cout<<"Enter the age";
cin>>s1->age;
s1>nxt=NULL;
if(start==NULL)
{
start=s1;
}
else
{
student *temp;
temp=new student;
temp=start;
while(temp->nxt!=NULL)
{
temp=temp->nxt;
}
temp->nxt=s1;
}
}
void student::add_at_any()
{
student *s1;
s1=new student;
int x;
cout<<"Enter age of the node you want to specify:";
cin>>x;
cout<<"Enter the age of the new node";
cin>>s1>age;
student *temp;
temp=new student;
temp=start;
while((temp->age!=x)&&(temp->nxt!=NULL))
{
temp=temp->nxt;
}
if(temp->nxt=NULL)
{
cout<<"Error";
}
else
{
s1->nxt=temp->nxt;
temp->nxt=s1;
}
}
void student::del_at_front()
{
student *temp;
if(start==NULL)
{
cout<<"Empty list";
}
else
{
temp=start;
start=start->nxt;
delete temp;
}
}
void student::del_at_end()
{
student *temp,*temp1;
if(start==NULL)
{
cout<<"Empty list";
}
else
{
temp=start;
temp1=start;
while(temp->nxt!=NULL)
{
temp1=temp;
temp=temp->nxt;
}
}
delete temp;
temp1->nxt=NULL;
}
void student::del_at_any()
{
student *temp,*temp1;
int x;
cout<<"Enter the age of the node to be deleted:";
cin>>x;
temp=start;
temp1=start;
while((temp->nxt!=NULL)&&(temp->age!=x))
{
temp1=temp;
temp=temp->nxt;
}
if(temp->nxt==NULL)
{
cout<<"Error in inputs:";
}
else
{
temp1->nxt=temp->nxt;
delete temp;
}
}
int main()
{
int opt;
char ch;
student s;
do
{
cout<<"*******OPERATIONS******\n:1.add_front\n2.add_end\n3.add_any\
n4.del_fround\n5.del
_end\n6.del_any\n7.display\n8.search\n9.exit\nEnter your
choice:";
cin>>opt;
switch(opt)
{
case 1:s.add_at_front();
break;
case 2:s.add_at_end();
break;
case 3:s.add_at_any();
break;
case 4:s.del_at_front();
break;
case 5:s.del_at_end();
break;
case 6:s.del_at_any();
break;
case 7:s.display();
break;
case 8:s.search();
break;
case 9:break;
default : cout<<"Error";
break;
}
//cout<<"Do you want to continue (Y/N)";
//cin>>ch;
}
while(opt!=9);
}
void student::display()
{
student *temp;
temp=start;
while(temp!=NULL)
{
cout<<temp->age<<"\n" ;
temp=temp->nxt;
}
}
void student::search()
{
student *s1;
s1=new student;
int x,n,f=0;
n=1;
cout<<"Enter the age you want to search ";
cin>>x;
s1=start;
while(s1->age!=x)
{
s1=s1->nxt;
n=n+1;
if((s1->nxt==NULL)&&(s1->age!=x))
{
f=1;
break;
}
}
if(f==1)
cout<<"Element not fount";
else
cout<<s1->age<<"is at position"<<n<<"\n\n";
}
| Is This Answer Correct ? | 2 Yes | 1 No |
Explain some examples of operator overloading?
What are signs of manipulation?
How can you tell what shell you are running on unix system?
What are the types of STL containers?
What is a stack c++?
What is the use of volatile variable?
What are pointer-to-members in C++? Give their syntax.
how many controls can we place on single form.
Explain about Garbage Collector?
Visual Basic 6 All the questions are compulsory. The first five questions shall be of 16 marks each and the last question shall be of 20 marks. Q1. A. Discuss the various types of variables. B. How to control the file? Q2. A. How the image application? B. Write short notes on trees structures work. Q3. A. How to load and unload child forms. B. When should we use recursive programming Q4. A. Write short notes on "The ole control's shortcut menu" B. How to test the AX stat class Q5. A. How to use advanced data-bound controls. B. Write notes on manipulating the recordset object Q6. A. What is script control? B. How to down load image properties. C. What is meant by building a recordset. PROJECT 2002 All the questions are compulsory. The first five questions shall be of 16 marks each and the last question shall be of 20 marks. Q1. A. How can we determine performance standards? B. Write note on chaining views. Q2. A. Discuss the working with task in Gantt chart view. B. Explain the creation project schedule. Q3. A. What is understand in resource tracking? B. Write short notes on Caturing Baseline. Q4. A. How to customize workgroup message? B. How to use hyperlink? Q5. A. Explain the installation of project server? B. Discuss the working with to-do lists. Q6. A. Explain the working of templates? B. What is visual basic? C. Write shortnotes on user forms. PROGRAMMING WITH C++ All the questions are compulsory. The first five questions shall be of 16 marks each and the last question shall be of 20 marks. Q1. A. What is unary operator? List out the different operators involved in the unary operator. B. What is an adjust field format flag? Q2. A. Distinguish between a # include and #define. B. Can a list of string be stored within a two dimensional array? Q3. A. Explain how a pointer to function can be declared in C++? B. List the merits and demerits of declaring a nested class in C++? Q4. A. What are the syntactic rules to be avoid ambiguity in multiple inheritence? B. Explain the operation of overloading of an assignment operator. Q5. A. Explain how the virtual base class is different from the conventional base classes of the opps. B. Explain how an exception handler is defined and invoked in a Program. Q6. A. What is a binary file? List the merits and demerits of the binary file usagein C++. B. Write short notes on Text Manipulation Routines. C. Write bites in Turbo c++ Header ("Include") Files. Java All the questions are compulsory. The first five questions shall be of 16 marks each and the last question shall be of 20 marks. Q1. A. Write note on "The class path Environment Variable". B. Which are different kinds of source code? Q2. A. How to create an interface? B. Why convert an applet to an application? Q3. A. How to use Media tracker Class. B. How to use string tokenizer class. Q4. A. Explain the overview of UDP messaging. B. Difference between SQL Exception class and SQL Warning class. Q5. A. How to create com object in Java? B. Write short notes on "The properties class" Q6. A. When object is created and destroyed? B. Explain the JDB in depth & command line. C. Write short notes on Web Sites. MULTIMEDIA All the questions are compulsory. The first five questions shall be of 16 marks each and the last question shall be of 20 marks. Q.1 Write a C language program to perform CCITT group 3 compression. If possible, scan some images and use your program to compress the images. What kind of compression did you achieve? Q2. How does a magneto-optical technology differ from WORM technology? Explain the differences in the manner in which you would use them for a multimedia system. Q3. What network considerations would you contemplate in designing an enterprise-wide multimedia system which supports fully distributed integrated messaging, sharing of corporate multimedia information databases, and custom business process applications? Q4. Explain the difference between the various types of multimedia object servers. How would you set up hierarchical storage for a large distributed organization? Q5. Explain the role of each type of server required in a multimedia system and the type of storage media that should be used for it. Q6. How do your decisions affect the design? Would different decisions on network technologies and object server technologies result in a different solution? OPERATING SYSTEM All the questions are compulsory. The first five questions shall be of 16 marks each and the last question shall be of 20 marks. Q1. What is an interrupt? How are multiple interrupts dealt with? Q2. Explain the difference between a MONOLITHIC KERNAL and a MICROKERNAL? Q3. List reasons why a Mode switch between threads may be cheaper than a Mode switch between processes. Q4. What is the difference among deadlock avoidance, detection and prevention? Q5. What items of information about a task might be useful in real time scheduling? Q6. Discuss some of the reasons for implementing process migration ? How is the process address space handled during process migration? WEB APPLICATIONS All the questions are compulsory. The first five questions shall be of 16 marks each and the last question shall be of 20 marks. Q1. Explain Java script in Web pages? Q2. Explain the advantages of Java script. Q3. Write the Properties of HTML object. Q4. How a JavaScript enabled browser handles the document object? Q5. What are cookies? Q6. Explain the process of controlling the Program flow in Pearl.
Describe exception handling concept with an example?
How many different levels of pointers are there?