#include #include #include typedef struct lnode{ int data; lnode * next; } ; lnode * root; int size=0; int dequeue(){ if(size==0) return -1; if(size==1){ int result = root->data; root=NULL; size--; return result; } lnode * iter; iter = root; for(int i = 0;inext; } lnode * temp = iter->next; int result = iter->next->data; iter->next = NULL; free(temp); size--; return result; } void enqueue(int data){ if(size==0){ root = (lnode*)malloc(sizeof(lnode)); root->data=data; root->next = NULL; size++; } else{ lnode * iter=(lnode*)malloc(sizeof(lnode)); iter->data=data; iter->next=root; size++; root=iter; } } void printqueue(){ lnode *iter; iter=root; printf("\n"); for(int i = 0;idata); iter=iter->next; } } int main(){ enqueue(10); printqueue(); enqueue(20); printqueue(); printf("\ndequeue -> %d",dequeue()); printqueue(); enqueue(30); printqueue(); enqueue(40); printqueue(); printf("\ndequeue -> %d",dequeue()); printqueue(); printf("\ndequeue -> %d",dequeue()); printqueue(); printf("\ndequeue -> %d",dequeue()); printqueue(); printf("\ndequeue -> %d",dequeue()); printqueue(); getch(); return 0; }