Professional Documents
Culture Documents
Question Number: 1 Question: Given A Number N, Write A Program Using Linked Queue Data Structure That Generates
Question Number: 1 Question: Given A Number N, Write A Program Using Linked Queue Data Structure That Generates
Question: Given a number n, write a program using linked queue data structure that generates
and prints all binary numbers with decimal values from 1 to n.
Example: Input: n = 2, Output: 1, 10
Input: n = 5, Output: 1, 10, 11, 100, 101
Input: n = 10, Output: 1, 10, 11, 100, 101, 110, 111, 1000, 1001, 1010
Solution using queue data structure:
Pseudocode:
1)Create an empty queue of strings
2) Enqueue the first binary number 1 to queue.
3) Now run a loop for generating and printing n binary numbers.
Dequeue and Print the front of queue.
Append 0 at the end of front item and enqueue it.
Append 1 at the end of front item and enqueue it.
PROGRAM CODE (this is in c++ so convert to c and change #include<queue> since theres no
preprocessor function like that in C)
// C++ program to generate binary numbers from 1 to n
#include <iostream>
#include <queue>
using namespace std;
// This function uses queue data structure to print binary numbers
void generatePrintBinary(int n)
{
// Create an empty queue of strings
queue<string> q;
// Enqueue the first binary number
q.push("1");
// This loops is like BFS of a tree with 1 as root
// 0 as left child and 1 as right child and so on
while (n--)
{
SCREENSHOTS:
For input n=5
Input n=10