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