Skip to main content

DOUBLY LINK LIST

DOWNLOAD FULL PROGRAME

CODING:

#CREATE A LIST
struct node *create(struct node *start)
{
struct node *new_node;
int num,n;
printf("\nHOW MANY ENTER THE RECORD IN LIST
:");
scanf("%d",&n);
do
{
printf("Enter the number:");
scanf("%d",&num);
 if(start==NULL)
 {
  start=(struct node *)malloc(sizeof(struct node *));
  start->prev=NULL;
  start->data=num;
  start->next=NULL;
  count++;
  n--;
 }
 else
 {
  new_node=(struct node *)malloc(sizeof(struct node *));
  new_node->prev=NULL;
  new_node->data=num;
  new_node->next=start;
  start->prev=new_node;
  start=new_node;
  count++;
  n--;
 }
}while(0<n);
return start;
}
#INSERT AT FIRST
struct node *insert_beg(struct node *start)
{
struct node *new_node;
int num;
printf("Enter The Number:");
scanf("%d",&num);
new_node=(struct node *)malloc(sizeof(struct node *));
start->prev=new_node;
new_node->prev=NULL;
new_node->data=num;
new_node->next=start;
start=new_node;
count++;
return start;
}
#INSERT AT LAST
struct node *insert_end(struct node *start)
{
int num;
struct node *ptr,*new_node;
ptr=start;
printf("Enter The Number:");
scanf("%d",&num);
new_node=(struct node *)malloc(sizeof(struct node *));
new_node->data=num;
while(ptr->next!=NULL)
ptr=ptr->next;
ptr->next=new_node;
new_node->next=NULL;
count++;
return start;
}
#INSERT AT SPECIFIED LOCATION(BEFORE,AFTER,ANY THE NODE)
#BEFORE
struct node *insert_before(struct node *start)
{
struct node *new_node,*ptr;
int num,n;
ptr=start;
printf("\nEnter The Before Number of Added In List:");
scanf("%d",&n);
if(ptr->data==n)
{
start=insert_beg(start);
}
else
{
printf("Enter The Number:");
scanf("%d",&num);
new_node=(struct node *)malloc(sizeof(struct node *));
new_node->data=num;
while(ptr->data!=n)
ptr=ptr->next;
new_node->next=ptr;
ptr->prev->next=new_node;
ptr->prev=new_node;
}
return start;
}
#ANY
struct node *insert_node(struct node *start)
{
struct node *new_node,*ptr;
int num,n;
ptr=start;
printf("Enter The Position You Want To Added:");
scanf("%d",&n);
if(n==1)
{
start=insert_beg(start);
}
else
{
printf("Enter The Number:");
scanf("%d",&num);
new_node=(struct node *)malloc(sizeof(struct node *));
new_node->data=num;
while(2<n)
{
 ptr=ptr->next;
 n--;
}
new_node->prev=ptr;
new_node->next=ptr->next;
ptr->next->prev=new_node;
ptr->next=new_node;
}
return start;
}
#AFTER
struct node *insert_after(struct node *start)
{
struct node *new_node,*ptr;
int num,n;
printf("Enter The Number:");
scanf("%d",&num);
printf("\nEnter The After Number of Added In List:");
scanf("%d",&n);
new_node=(struct node *)malloc(sizeof(struct node *));
new_node->data=num;
ptr=start;
while(ptr->data!=n)
ptr=ptr->next;
new_node->prev=ptr;
new_node->next=ptr->next;
ptr->next->prev=new_node;
ptr->next=new_node;
return start;
}
#DELETE FROM FIRST
struct node *delete_beg(struct node *start)
{
struct node *ptr;
ptr=start;
start=start->next;
free(ptr);
count--;
return start;
}
#DELETE FROM LAST:
struct node *delete_end(struct node *start)
{
struct node *ptr,*preptr;
ptr=start;
while(ptr->next!=NULL)
{
 preptr=ptr;
 ptr=ptr->next;
}
preptr->next=NULL;
free(ptr);
count--;
return start;
}
#DELETE ANY SPECIFIED NODE
struct node *delete_node(struct node *start)
{
struct node *ptr,*preptr;
int num;
printf("Enter The Number:");
scanf("%d",&num);
ptr=start;
if(ptr->data==num)
{
 start=delete_beg(start);
 return start;
}
else
 while(ptr->data!=num)
 {
 preptr=ptr;
 ptr=ptr->next;
 }
preptr->next=ptr->next;
free(ptr);
count--;
return start;
}
#TRAVERSAL
struct node *display(struct node *start)
{
struct node *ptr;
ptr=start;
printf("LIST OPEN...");
while(ptr!=NULL)
{
 printf("\n%d",ptr->data);
 ptr=ptr->next;
}
return start;
}
#SORTING
struct node *sort(struct node *start)

{
struct node *ptr1,*ptr2;
int temp;
ptr1=start;
while(ptr1->next!=NULL)
{
 ptr2=ptr1->next;
 while(ptr2!=NULL)
 {
  if(ptr1->data>ptr2->data)
  {
   temp=ptr1->data;
   ptr1->data=ptr2->data;
   ptr2->data=temp;
  }
   ptr2=ptr2->next;
 }
ptr1=ptr1->next;
}
return start;
}
#SPLITTING
struct node *split(struct node *start)
{
int i;
struct node *s;
if(flag==0)
{
printf("Enter The Position of Split:");
scanf("%d",&i);
s=start;
while(i>1)
{
s=s->next;
i--;
}
splitlist=s->next;
splitlist->prev=NULL;
s->next=NULL;
s=start;
flag=1;
printf("\n->Your List is Splitted.");
}
else{printf("SORRY,Your List is Already Splitted");}
return start;

}
#MERGING
struct node *merge(struct node *start)
{
struct node *ptr;
ptr=start;
if(flag==0)
{
printf("SORRY,You have note Splitted List.");
}
else
{
while(ptr->next!=NULL)
ptr=ptr->next;
ptr->next=splitlist;
splitlist->prev=ptr;
flag=0;
printf("->Your List Merged.");
}
return start;
}
#COUNTING OPERATIONS:( TOTAL NO. OF NODES, EVEN AND ODD NO. OF NODES)
struct node *count_op(struct node *start)
{
struct node *ptr;
int odd=0,even=0;
ptr=start;
while(ptr!=NULL)
 {
  if(ptr->data%2==0)
   {
    printf("\nEVEN:%d",ptr->data);even++;
   }
  else
   {
    printf("\nODD :%d",ptr->data);odd++;
   }
 ptr=ptr->next;
 }
printf("\nEVEN  Number of Nodes:%d",even);
printf("\nODD   Number of Nodes:%d",odd);
printf("\nTotal Number Of Nodes:%d",count);
return start;
}

Comments

Popular posts from this blog

C++

I NTRODUCTION TO OOP,CLASSES & OBJECTS 1. Use of scope Resolution of Operators. 2. Define a function outside a using scope resolution operators. 3. Write a program to calculate the area of circle, rectangle and square using function overloading. 4. Write a program to calculate the area of circle, rectangle and square using with class & object. 5. Write a program to demonstrate the use of returning a reference variable. 6. Create a class student,stores the details about name,roll no,marks of 5 subject,1.get function accept value of data members,2. display function to display,3.total function to return total of 5 subjects marks. 7. Create function power() in c++. & Create function power() in c++ and default argument. 8. Write a C++ program to swap the value of private data members from 2 different classes. 9. Write a program to illustrate the use of this pointer. 10. An election is contested by five candidates. The candidates are numbered 1 to 5 and the voting is do...

BCA SEM 5 SHELL SCRIPT PROGRAM

1  Write a shell script to execute following commands 1. Sort file abc.txt and save this sorted file in xyz.txt 2. Give an example of : To execute commands together without affecting result of each other. 3. How to print “this is a three –line 1. Text message” 4. Which command display version of the UNIX? 5. How would u get online help of cat command? echo “sorting the file” sort abc.txt > xyz.txt echo “executing two commands” who ; ls echo “this is \n a three-line \n Text message” # use -e option if required echo “The version is `uname -a`” echo “Help of cat command” man cat 2  Write a shell script to execute following commands 1. How would u display the hidden files? 2. How delete directory with files? 3. How would user can do interactive copying? 4. How would user can do interactive deletion of files? 5. Explain two functionality of “mv” command with example? echo “1. How would u display the hidden files” echo “2. How delete directory with files” echo...

Advanced Controls in VB.NET

1. Create a windows application as a word finder, which finds & replace the occurrence of that word with another word in VB.NET. 2. Create an application in which a user can enter a numeric value using one scroll bar between 0 to 100 and displays conversion of the value into Fahrenheit in VB.NET. 3. There are 3 Track Bars on the Form. The first Track Bar is stands for Red, second for Green and third for Blue, depends on the position of indicator the background color of label is display on Mouse Move in VB.NET. 4. Write a program to create a Treeview dynamically with buttons Add To Root, Add To Selected Node, Remove and Scan buttons.On click of Scan button all the nodes of the Treeview should be listed in the Listbox placed in side by. 5. Write a Program to Implement a MDI application. It should have File menu with option New, Close, Close All and Exit. It should also have window menu to arrange the child forms like Tile Horizontal, Tile Vertical, Cascade and Arrange Icons in VB...