mirror of
https://github.com/c0de-archive/hacktoberfest-2018.git
synced 2024-12-22 05:12:40 +00:00
doubly linked list
execution of doubly link list using consumer data base
This commit is contained in:
parent
3ec9f88f4b
commit
97a63d3188
193
code/doublylinklist.cpp
Normal file
193
code/doublylinklist.cpp
Normal file
@ -0,0 +1,193 @@
|
|||||||
|
#include<stdlib.h>
|
||||||
|
#include<stdio.h>
|
||||||
|
#include<malloc.h>
|
||||||
|
|
||||||
|
struct node
|
||||||
|
{
|
||||||
|
|
||||||
|
int id ;
|
||||||
|
char name[20];
|
||||||
|
struct node*prev;
|
||||||
|
struct node*next;
|
||||||
|
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
node*temp,*start=NULL,*last=NULL;
|
||||||
|
|
||||||
|
|
||||||
|
void creation();
|
||||||
|
void deletion();
|
||||||
|
void display();
|
||||||
|
|
||||||
|
|
||||||
|
int main()
|
||||||
|
{
|
||||||
|
int decision;
|
||||||
|
int ch;
|
||||||
|
ch=1;
|
||||||
|
while(ch==1)
|
||||||
|
{
|
||||||
|
|
||||||
|
printf(" \n 1.CREATE A NEW CONSUMER RECORD \n 2.DELETE A RECORD \n 3.DISPLAY \n 4.EXIT \n");
|
||||||
|
|
||||||
|
printf("\n ENTER YOUR CHOICE ");
|
||||||
|
scanf("%d", &decision);
|
||||||
|
|
||||||
|
|
||||||
|
switch(decision)
|
||||||
|
{
|
||||||
|
|
||||||
|
case 1 : creation();
|
||||||
|
break;
|
||||||
|
|
||||||
|
|
||||||
|
case 2 : deletion();
|
||||||
|
break;
|
||||||
|
|
||||||
|
|
||||||
|
case 3 : display();
|
||||||
|
break;
|
||||||
|
|
||||||
|
|
||||||
|
case 4 : exit(0);
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void creation()
|
||||||
|
{
|
||||||
|
|
||||||
|
int ch;
|
||||||
|
ch=1;
|
||||||
|
|
||||||
|
while(ch==1)
|
||||||
|
|
||||||
|
{
|
||||||
|
|
||||||
|
|
||||||
|
temp= (node*)malloc(sizeof(node));
|
||||||
|
|
||||||
|
printf(" ENTER THE CONSUMER ID : ");
|
||||||
|
scanf("%d",&temp->id);
|
||||||
|
|
||||||
|
printf(" ENTER THE CONSUMER NAME : ");
|
||||||
|
scanf("%s",&temp->name);
|
||||||
|
|
||||||
|
|
||||||
|
if(start==NULL)
|
||||||
|
{
|
||||||
|
temp->prev=NULL;
|
||||||
|
temp->next=NULL;
|
||||||
|
start=last=temp;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
else
|
||||||
|
{
|
||||||
|
temp->next=start;
|
||||||
|
start->prev=temp;
|
||||||
|
|
||||||
|
start=temp;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
printf(" WANT TO ENTER MORE (0/1) : ");
|
||||||
|
scanf("%d",&ch);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
void deletion()
|
||||||
|
{
|
||||||
|
|
||||||
|
if(start==NULL)
|
||||||
|
{
|
||||||
|
printf(" NO DATA TO DELETE");
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
else
|
||||||
|
{
|
||||||
|
|
||||||
|
temp=start;
|
||||||
|
node*temp2;
|
||||||
|
|
||||||
|
while(temp->next!=NULL)
|
||||||
|
{
|
||||||
|
temp2=temp;
|
||||||
|
|
||||||
|
temp=temp->next;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
temp2->next=NULL;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
void display()
|
||||||
|
{
|
||||||
|
temp=start;
|
||||||
|
|
||||||
|
while(temp!=NULL)
|
||||||
|
{
|
||||||
|
|
||||||
|
printf(" C.NAME : %s C.ID : %d -->", temp->name,temp->id) ;
|
||||||
|
|
||||||
|
temp=temp->next;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
printf("NULL \n");
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user