0Pricing
C Academy · Pelajaran

Stack dan Queue

Pahami struktur data stack (LIFO) dan queue (FIFO) serta penerapannya.

Stack dan Queue adalah pelajaran C Academy gratis di CoddyKit. Ini adalah pelajaran 2 dari 3. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar C Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus C Academy mencakup 3 pelajaran total.

Tumpukan dan Antrean dalam C

Tumpukan dan Antrean dalam C

Tumpukan dan antrean adalah struktur data linear yang digunakan untuk menyimpan dan mengelola data.

Dalam pelajaran ini, Anda akan mempelajari:

  • Cara kerja tumpukan (LIFO - Masuk Terakhir, Keluar Pertama).
  • Cara kerja antrean (FIFO - Masuk Pertama, Keluar Pertama).
  • Cara mengimplementasikan tumpukan dan antrean dalam C.
Stack dan Queue — ilustrasi 1

Apa Itu Tumpukan?

Apa Itu Tumpukan?

Tumpukan mengikuti prinsip Masuk Terakhir, Keluar Pertama (LIFO).

Operasi:

  • Menambahkan - Menambahkan elemen ke bagian atas.
  • Mengeluarkan - Menghapus elemen teratas.
  • Melihat - Melihat elemen teratas tanpa menghapusnya.

Contoh: Mengimplementasikan Tumpukan

Contoh: Mengimplementasikan Tumpukan

Program ini menunjukkan operasi tumpukan menggunakan array.

#include <stdio.h>
#define MAX 5

int stack[MAX], top = -1;

void push(int value) {
    if (top == MAX - 1) {
        printf("Stack Overflow\n");
    } else {
        stack[++top] = value;
    }
}

int pop() {
    if (top == -1) {
        printf("Stack Underflow\n");
        return -1;
    } else {
        return stack[top--];
    }
}

int main() {
    push(10);
    push(20);
    printf("Popped: %d\n", pop());
    return 0;
}

Apa Itu Antrean?

Apa Itu Antrean?

Antrean mengikuti prinsip Masuk Pertama, Keluar Pertama (FIFO).

Operasi:

  • Menambahkan ke antrean - Menambahkan elemen ke bagian belakang.
  • Mengeluarkan dari antrean - Menghapus elemen dari bagian depan.
  • Melihat - Melihat elemen terdepan tanpa menghapusnya.

Contoh: Mengimplementasikan Antrean

Contoh: Mengimplementasikan Antrean

Program ini menunjukkan operasi antrean menggunakan array.

#include <stdio.h>
#define MAX 5

int queue[MAX], front = -1, rear = -1;

void enqueue(int value) {
    if (rear == MAX - 1) {
        printf("Queue Overflow\n");
    } else {
        if (front == -1) front = 0;
        queue[++rear] = value;
    }
}

int dequeue() {
    if (front == -1 || front > rear) {
        printf("Queue Underflow\n");
        return -1;
    } else {
        return queue[front++];
    }
}

int main() {
    enqueue(10);
    enqueue(20);
    printf("Dequeued: %d\n", dequeue());
    return 0;
}

Antrean Melingkar

Antrean Melingkar

Antrean melingkar mengatasi keterbatasan antrean biasa dengan menggunakan kembali ruang kosong.

Operasinya tetap sama, tetapi berputar mengelilingi array.

Contoh: Antrean Melingkar

Contoh: Antrean Melingkar

Program ini menunjukkan implementasi antrean melingkar.

#include <stdio.h>
#define MAX 5

int queue[MAX], front = -1, rear = -1;

void enqueue(int value) {
    if ((rear + 1) % MAX == front) {
        printf("Queue Overflow\n");
    } else {
        if (front == -1) front = 0;
        rear = (rear + 1) % MAX;
        queue[rear] = value;
    }
}

int dequeue() {
    if (front == -1) {
        printf("Queue Underflow\n");
        return -1;
    }
    int data = queue[front];
    if (front == rear) {
        front = rear = -1;
    } else {
        front = (front + 1) % MAX;
    }
    return data;
}

int main() {
    enqueue(10);
    enqueue(20);
    printf("Dequeued: %d\n", dequeue());
    return 0;
}

Penerapan Tumpukan dan Antrean

Penerapan Tumpukan dan Antrean

Tumpukan digunakan untuk:

  • Pengelolaan pemanggilan fungsi (rekursi).
  • Operasi urungkan/ulangi.
  • Evaluasi ekspresi.

Antrean digunakan untuk:

  • Penjadwalan tugas dalam sistem operasi.
  • Pengelolaan permintaan di server web.
  • Transfer data dalam jaringan.

Ringkasan

Ringkasan

Dalam pelajaran ini, Anda telah mempelajari:

  • Cara kerja tumpukan dan antrean.
  • Cara mengimplementasikan operasi tumpukan dan antrean.
  • Penerapan tumpukan dan antrean.

Selanjutnya, kita akan mempelajari pohon dan graf dalam C!

Stack dan Queue — ilustrasi 10

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Stack dan Queue” gratis?

Ya — teks lengkap “Stack dan Queue” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus C Academy, upgrade ke CoddyKit PRO. Kursus C Academy mencakup 3 pelajaran total.

Apa yang akan aku pelajari di “Stack dan Queue”?

Pahami struktur data stack (LIFO) dan queue (FIFO) serta penerapannya. Kamu berlatih C Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai C Academy?

Tidak diperlukan pengalaman sebelumnya. C Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 2 dari 3.

Berapa lama pelajaran “Stack dan Queue” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran C Academy ini?

Ya. Setiap pelajaran C Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Linked List
  2. Stack dan Queue
  3. Pohon dan Graf
← Kembali ke C Academy