Deletion at beginning in the Circular linked list
C function for Deletion at beginning in Circular linked list
void delete_first(struct link *node) { node=start->next; ptr=start; if(i==0) { printf("\n List is empty"); exit(0); } ptr->next=node->next; free(node); i--; }
After Deletion
Deletion at beginning in Circular linked list
#include<stdio.h> #include<conio.h> #include<stdlib.h> struct link { int data; struct link *next; }; int i=0; struct link *node,*start,*ptr,*new1; void create_link(struct link *node) { char ch; start->next=NULL; node=start; fflush(stdin); printf("\n Enter 'n' for break:"); ch=getchar(); while(ch!='n') { node->next=(struct link *)malloc(sizeof(struct link)); node=node->next; printf("\n Enter data for node:"); scanf("%d",&node->data); node->next=start; fflush(stdin); printf("\n Enter 'n' for break:"); ch=getchar(); i++; } } void delete_first(struct link *node) { node=start->next; ptr=start; if(i==0) { printf("\n List is empty"); exit(0); } ptr->next=node->next; free(node); i--; } void display(struct link *node) { int count; node=start->next; count=i; while(count) { printf("\t%d",node->data); node=node->next; count--; } } void main() { char ch; clrscr(); create_link(node); delete_first(node); printf("List Item Are:\n"); display(node); getch(); }