☰
×
◈ Home
◈ Array
◈ Stack Using Array
◈ Stack Using Linked List
◈ Queue Using Array
◈ Queue Using Linked List
◈ Singly Linked List
◈ Doubly Linked List
◈ Circular Linked List
◈ Trees
◈ Graphs
◈ Hashes
◈ Heaps
Home
About
Consulting
Training
Tutorials
Interview Questions
Contact
C Programs
C Data Structure Programs
Home
C Data Structure Programs
◈ Home
◈ Array
◈ Stack Using Array
◈ Stack Using Linked List
◈ Queue Using Array
◈ Queue Using Linked List
◈ Singly Linked List
◈ Doubly Linked List
◈ Circular Linked List
◈ Trees
◈ Graphs
◈ Hashes
◈ Heaps
C Data Structure Programs
Queue Implementation Using Linked List
« Prev
Next »
DS - Queue Implementation Using Linked List
#include
#include
#include
struct node { int data; struct node *next; }*head=0; struct node *newn, *temp; int main() { int c, n; while(1) { printf("\n 1. Insert \n 2. Delete \n 3. Display \n 4. Exit \n"); printf("Enter option\n"); scanf("%d",&c); switch(c) { case 1: newn=malloc(sizeof(struct node)); printf("Enter data to insert : "); scanf("%d", &newn->data); newn->next=NULL; insert(); break; case 2: if(head==NULL) { printf("Queue is empty\n"); break; } delete(); break; case 3: if(head==NULL) { printf("Queue is Empty\n"); break; } display(); break; case 4: exit(0); default: printf("Wrong Option\n"); } } } int insert() { struct node *curn; curn=head; if(head==NULL) { head=newn; display(); return; } while(curn->next!=NULL) { curn=curn->next; } curn->next=newn; curn=head; display(); return; } int delete() { struct node *temp; temp=head; if(head->next==NULL) { free(head); printf("Queue became Empty\n"); head=0; return; } temp=temp->next; free(head); head=temp; display(); return; } int display() { struct node *curn; /* Printing top line */ curn=head; printf("\n "); while(curn!=NULL) { printf("-----"); curn=curn->next; } printf("\n "); /* Printing data element in the list */ curn=head; while(curn!=NULL) { printf(" %d <-", curn->data); curn=curn->next; } /* Printing bottom line */ curn=head; printf("\n "); while(curn!=NULL) { printf("-----"); curn=curn->next; } printf("\n"); curn=head; return; }
« Prev
Next »
If you have any queries please email us at
info@motionzen.com