1: #include <stdio.h>
2: #include <stdlib.h>
3: #include <malloc.h>
4: #include <dos.h>
5: struct queue
6: {
7: int data;
8: struct queue*next;
9: };
10: typedef struct queue QUEUE;
11: QUEUE*rear=NULL;
12: QUEUE*front=NULL;
13: void qinsert()
14: {
15: if(rear==NULL)
16: {
17: rear=(QUEUE*)malloc(sizeof(QUEUE));
18: printf("Enter data: ");
19: scanf("%d",&rear->data);
20: rear->next=NULL;
21: front=rear;
22: return;
23: }
24: rear->next=(QUEUE*)malloc(sizeof(QUEUE));
25: rear=rear->next;
26: printf("Enter data: ");
27: scanf("%d",&rear->data);
28: rear->next=NULL;
29: return;
30: }
31: void qdelete()
32: {
33: QUEUE*temp;
34: if(front==NULL)
35: {
36: printf("QUEUE IS UNDEF FLOW\n");
37: system("PAUSE");
38: return;
39: }
40: temp=front;
41: front=front->next;
42: temp->next=NULL;
43: printf("Deleted element is:%d",temp->data);
44: free(temp);
45: system("PAUSE");
46: if(front==NULL)
47: rear=NULL;
48: return;
49: }
50: void qdisplay()
51: {
52: QUEUE*temp;
53: if(front==NULL)
54: {
55: printf("QUEUE IS EMPTY\n");
56: system("PAUSE");
57: return;
58: }
59: temp=front;
60: printf("QUEUE ELEMENTS ARE: ");
61: do
62: {
63: printf("%d",temp->data);
64: temp=temp->next;
65: }while(temp!=NULL);
66: printf("\n");
67: system("PAUSE");
68: return;
69: }
70: int main(void)
71: {
72: int option;
73: while(1)
74: {
75: system("CLS");
76: printf("\nQInsert PRESS 1: ");
77: printf("\nQDelete PRESS 2: ");
78: printf("\nQDisplay PRESS 3: ");
79: printf("\nEXIT PRESS 4: ");
80: scanf("%d",&option);
81: switch(option)
82: {
83: case 1: qinsert();
84: break;
85: case 2: qdelete();
86: break;
87: case 3: qdisplay();
88: break;
89: case 4: free(front);
90: return EXIT_SUCCESS;
91: default: printf("INVALID OPTION\n");
92: system("PAUSE");
93: }
94: }
95: }
Queue using linked list
Labels:
Data Structure
Location:
Hyderabad, Telangana, India
Subscribe to:
Post Comments (Atom)
0 comments:
Post a Comment