# Display Binary Numbers from 1 to N using Queue in C++

In this tutorial, we will learn how to write the **program to display binary numbers using queue**. Let us start with the algorithm to print Binary Numbers from 1 to N using Queue in C++.

**Algorithm:**

- Input the end value up to which the binary number has to be generated.
- Enqueue
**“1”**to the queue. - Initialize string
**t1= queue[front]**. - Append
**“0”**to string**t1**and enqueue it to stack. - Initialize string
**t2=queue[front]**. - Append
**“1”**to string**t2**and enqueue it to the stack. - Print
**queue [front]**and dequeue it. - Repeat
**step 3 to 7**until the end of the value.

In this program, we use the 3 functions. They are

**insertion****deletion****generate**

In Insertion function logic is if the front is equal to -1 then front equal to 0. In deletion function, if front equal to the rear then front and rear are equal to -1 else front is incremented by 1. In generate function we use string copy and string concatenation to copy the string and connect both the strings together.

### Program: Display Binary Numbers from 1 to N using Queue in C++

#include<iostream> #include<string.h> # define maxsize 5 using namespace std; int rear=-1; int front =-1; char queue [50][10]; void insertion(char * str) { rear=rear+1; strcpy(queue[rear],str); if(front==-1) { front =0; } } void deletion() { if (front==rear) { front =rear =-1; } else { front++; } } void generate(int n) { char t1[10],t2[10]; insertion("1"); int i=1; for(i=1;i<=n;i++) { strcpy(t1,queue[front]); strcat(t1,"0"); insertion(t1); strcpy(t2,queue[front]); strcat(t2,"1"); insertion(t2); cout<<queue[front]<<"\n"; deletion(); } } int main() { int n=10; generate (n); return 0; }

**Output:**

1 10 11 100 101 110 111 1000 1001 1010

Also, you can set your own range modifying this code.

Also, read:

## Leave a Reply