תרגול #3
שיעור 12 מתוך 14 בקורס טבלאות גיבוב – סדרת מבני נתונים #4 של Coddy.
אתגר
קלכתוב פונקציה isAnagram שמקבלת שתי מחרוזות s1 ו-s2 ומחזירה אם הן אנגרמות: אותו רב־קבוצה של תווים, בכל סדר.
ההשוואה רגישה לאותיות גדולות וקטנות. מחרוזות באורכים שונים לעולם אינן אנגרמות.
עליך להשתמש במחלקה HashMap שסופקה בקובץ hashmap.<ext> — אל תשתמש במבנים מובנים בשפה, כמו קבוצות, dicts או מפות.
נסו בעצמכם
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <stdbool.h>
#include "solution.h"
int main() {
char s1[8192];
char s2[8192];
if (!fgets(s1, sizeof(s1), stdin)) s1[0] = '\0';
if (!fgets(s2, sizeof(s2), stdin)) s2[0] = '\0';
s1[strcspn(s1, "\r\n")] = '\0';
s2[strcspn(s2, "\r\n")] = '\0';
bool r = isAnagram(s1, s2);
printf("%s\n", r ? "true" : "false");
return 0;
}
כל השיעורים ביחידה טבלאות גיבוב – סדרת מבני נתונים #4
תרגלו בעצמכם: קומפיילר C אונליין