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.
Tantangan
MudahBuat 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
2Proyek Graf
Class GrafTambahkan SimpulTambahkan SisiApakah Ada SisiDapatkan TetanggaHapus SisiUkuranLatihan sendiri: Compiler C online