Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- struct node{
- int val;
- struct node* next;
- struct node* rear;
- };
- typedef struct node* Queue;
- Queue createQueue();
- int isEmpty(Queue Q);
- void enqueue(int x , Queue Q);
- void dequeue(Queue Q);
- int front(Queue Q);
- int frontAndDequeue(Queue Q);
- int main(){
- // Queue queue1 = createQueue();
- // enqueue(13,queue1);
- // enqueue(23,queue1);
- // enqueue(33,queue1);
- // enqueue(43,queue1);
- // enqueue(53,queue1);
- // dequeue(queue1);
- // while(!isEmpty(queue1)){
- // int x = frontAndDequeue(queue1);
- // printf("%d ",x);
- // }
- // printf("\n");
- }
- Queue createQueue(){
- Queue Q = malloc(sizeof(struct node));
- Q->next = NULL;
- Q->rear = Q;
- return Q;
- }
- int isEmpty(Queue Q){
- return Q->next == NULL;
- }
- void enqueue(int x , Queue Q){
- struct node* newElem = malloc(sizeof(struct node));
- newElem->val = x;
- Q->rear->next = newElem;
- Q->rear = Q->rear->next;
- Q->rear->next = NULL;
- // printf("%d\n",Q->rear->val);
- }
- void dequeue(Queue Q){
- if(!isEmpty(Q)){
- Queue temp = Q->next;
- Q->next = temp->next;
- free(temp);
- }
- }
- int front(Queue Q){
- if(!isEmpty(Q))
- return Q->next->val;
- }
- int frontAndDequeue(Queue Q){
- int x = front(Q);
- dequeue(Q);
- return x;
- }
Advertisement
Add Comment
Please, Sign In to add comment