Menu
CoddyTech

Class Graf

Pelajaran 3 dari 14 dalam kursus Graf, Seri Struktur Data #9 di Coddy.

class Graph dibangun dengan satu field, yaitu vertices, yang merupakan adjacency list: sebuah map dari setiap key vertex ke list tetangganya. Setiap operasi yang kita tambahkan nanti, seperti menambahkan edge, mencantumkan tetangga, dan menghapus edge, hanyalah perubahan kecil pada map ini.

Constructor memulai graph dalam keadaan kosong: tidak ada vertex dan tidak ada edge. Jadi, map tersebut hanyalah map kosong. method yang kita tambahkan dalam pelajaran berikutnya akan mengembangkannya.

challenge icon

Tantangan

Mudah

Buat class Graph dengan constructor yang tidak menerima input.

Inisialisasi satu field vertices sebagai map kosong (atau struktur yang setara dalam bahasamu untuk map ketetanggaan dari key ke list).

Coba sendiri

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "graph.h"

static int _cmp_int(const void* a, const void* b) {
    int ai = *(const int*)a, bi = *(const int*)b;
    return (ai > bi) - (ai < bi);
}

int main() {
    Graph g;
    Graph_init(&g);
    char line[1024];
    while (fgets(line, sizeof(line), stdin)) {
        line[strcspn(line, "\r\n")] = '\0';
        char* cmd = strtok(line, " \t");
        if (!cmd) continue;
        if (strcmp(cmd, "verticesEmpty") == 0) { printf("%s\n", g.vertexCount == 0 ? "true" : "false"); }
    }
    return 0;
}

Semua pelajaran di Graf, Seri Struktur Data #9

Latihan sendiri: Compiler C online