Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม C

สร้างเลขฐานสอง 1 ถึง n ด้วย Queue ในภาษา C

วิธีสร้างเลขฐานสอง (Binary Numbers) จาก 1 ถึง n โดยใช้ Queue

อัลกอริทึม

  1. Enqueue "1"
  2. วน n ครั้ง: Dequeue → print → Enqueue ตัวนั้น+"0" และ ตัวนั้น+"1"

โค้ดตัวอย่าง (C++)

#include <iostream>
#include <queue>
using namespace std;

void genBinary(int n) {
    queue<string> q;
    q.push("1");
    while (n--) {
        string s = q.front(); q.pop();
        cout << s << " ";
        q.push(s + "0");
        q.push(s + "1");
    }
}

int main() {
    genBinary(15);
    return 0;
}

ผลลัพธ์

1 10 11 100 101 110 111 1000 1001 1010 1011 1100 1101 1110 1111