Professional Documents
Culture Documents
Assign 3
Assign 3
# include <stdio.h>
# include <malloc.h>
struct double
char info;
};
int num ;
char ch;
start.next = null; /* empty list */
start.previous = null;
num = 0;
ch = getchar();
while(ch != 'n')
node->next->previous = node;
node = node->next;
scanf("%d", &node->info);
node->next = null;
fflush(stdin);
ch = getchar();
num ++;
}
/* function delete */
int delete_node;
int search_counter = 0;
printf("\n input the node number to which you want delete: ");
scanf("%d", &delete_node);
node = start.next;
if ( node == null)
printf("\n underflow\n");
else
while(node)
if((search_counter + 1) == delete_node)
node->previous->next = node->next ;
node->next->previous = node->previous ;
free(node);
else
node = node->next;
search_counter++;
node = start.next;
while (node)
node = node->next;
}
/* function main */
void main()
doubly_link_creat(node);
display(node);
doubly_link_del(node);
display(node);
# include <stdio.h>
# include <malloc.h>
struct double
char info[20];
};
int num ;
char ch;
start.previous = null;
num = 0;
ch = getchar();
while(ch != 'n')
{
node->next->previous = node;
node = node->next;
fflush(stdin);
gets(node->info);
node->next = null;
fflush(stdin);
ch = getchar();
num ++;
/* function delete */
node = start.next;
printf("\n underflow");
}
else
node->previous->next = node->next ;
node->next->previous = node->previous ;
free(node);
node = start.next;
if (node == null)
else
while (node)
node = node->next;
}
}
/* function main */
void main()
doubly_link_creat_first (node);
display (node);
doubly_link_del_first (node);
display(node);
# include <stdio.h>
# include <malloc.h>
struct double
int info;
int num ;
char ch;
start.previous = null;
num = 0;
ch = getchar();
while(ch != 'n')
{
node->next = (struct double *) malloc(sizeof(struct
double));
node->next->previous = node;
node = node->next;
scanf("%d", &node->info);
node->next = null;
fflush(stdin);
ch = getchar();
num ++;
/* function delete */
num = 0;
node = start.next;
printf("\n underflow");
}
else
while(node)
node = node->next;
num ++;
node = start.next;
while(num != 1)
node = node->next;
num --;
node->previous->next = node->next ;
node->next->previous = node->previous;
node->next = null;
free(node);
node = start.next;
if (node == null)
else
while (node)
node = node->next;
/* function main */
void main()
doubly_link_creat_last (node);
display(node);
doubly_link_del_last(node);
printf("\n after deletion of last node list is as follows\n");
display(node);
#include <stdio.h>
#include <malloc.h>
void main(void)
int i;
struct listentry {
int number;
start.next = null;
/* empty list */
start.previous = null;
node = &start;
node->next->previous = node;
node = node->next;
node->number = 50 + i;
node->next = null;
node = start.next;
do {
node = node->next;
} while (node);
int found = 0;
new = (struct listentry *) malloc(sizeof(struct listentry));
new->number = 50 + i;
node = start.next;
do {
new->next = node;
new->previous = node->previous;
node->previous->next = new;
node->previous = new;
found = 1;
else
node = node->next;
if (! found)
new->next = node;
new->previous = node->previous;
node->previous->next = new;
node->previous = new;
}
else
new->next = null;
new->previous = node;
node->next = new;
node = start.next;
do {
node = node->next;
} while (node);
#include <stdio.h>
#include <conio.h>
#include <ctype.h>
#include <stdlib.h>
struct node
int info;
};
while(currptr)
printf("\n%d\t",currptr->info);
currptr=currptr->next;
while(currptr)
{
printf("\n%d\t",currptr->info);
currptr=currptr->prev;
node *getnode()
newnode->next = null;
newnode->prev=null;
scanf("%d",&newnode->info);
return newnode;
node *newnode=getnode();
left->prev=newnode;
newnode->next=left;
return newnode;
}
/*function to diplay doubly linked list elements */
while(currptr)
printf("%d\t",currptr->info);
currptr=currptr->next;
/* main function */
void main()
char ans;
clrscr();
while(1)
flushall();
scanf("%c",&ans);
if (toupper(ans)=='n') break;
newnode=getnode();
if (right==null)
left = newnode;
right=newnode;
else
right->next = newnode;
newnode->prev=right;
right=right->next;
display(left);
left = insert(left);
display(left);
getch();
//program to insert a new node at the end of the doubly linked list
#include <stdio.h>
#include <conio.h>
#include <ctype.h>
#include <stdlib.h>
struct node
int info;
};
while(currptr)
printf("\n%d\t",currptr->info);
currptr=currptr->next;
while(currptr)
printf("\n%d\t",currptr->info);
currptr=currptr->prev;
node *getnode()
newnode->next = null;
newnode->prev=null;
scanf("%d",&newnode->info);
return newnode;
node *newnode=getnode();
right->next=newnode;
newnode->prev=right;
return newnode;
while(currptr)
printf("%d\t",currptr->info);
currptr=currptr->next;
/* main function */
void main()
char ans;
clrscr();
while(1)
flushall();
scanf("%c",&ans);
if (toupper(ans)=='n') break;
newnode=getnode();
if (right==null)
{
left = newnode;
right=newnode;
else
right->next = newnode;
newnode->prev=right;
right=right->next;
display(left);
right = insert_end(right);
display(left);
getch();
#include <stdio.h>
#include <conio.h>
#include <ctype.h>
#include <stdlib.h>
struct node
{
int info;
};
while(currptr)
printf("\n%d\t",currptr->info);
currptr=currptr->next;
while(currptr)
printf("\n%d\t",currptr->info);
currptr=currptr->prev;
}
} */
node *getnode()
newnode->next = null;
newnode->prev=null;
scanf("%d",&newnode->info);
return newnode;
/* main function */
void main()
char ans;
clrscr();
while(1)
flushall();
scanf("%c",&ans);
if (toupper(ans)=='n') break;
newnode=getnode();
if (right==null)
left = newnode;
right=newnode;
else
right->next = newnode;
newnode->prev=right;
right=right->next;
display_forward(left);
//y display_backward(right);
getch();