עבור לתוכן

שאלה על יצירת hashmap גנרי ב c++

Featured Replies

פורסם

יש לי רשימה מקושרת גנרית ואני רוצה לעשות מערך של פויינטרים מסוג T בגודל size ולאתחל כל פויינטר שיצביע ל linkedList מסוג Key

איך כותבים את זה?



#define BUCKETHASHTABLE_H_
#include "LinkedList.h"

template <class Key, class T>

class BucketHashTable{
public:
typedef Key key_type;
typedef T mapped_type;

BucketHashTable(int size){
//here i want to do the allocation
}




תודה

נערך על-ידי Alex Koretzki

פורסם

אתה קצת סותר את עצמך, מצד אחד אמרת שאתה רוצה מערך של פוינטרים מסוג T, ומצד שני אתה רוצה שיצביעו ל-LinkedList... פוינטרים מסוג T יכולים להצביע רק ל-T (או למשהו שיורש מ-T).

פורסם
  • מחבר

אז אני כנראה לא מבין איך עובד האשמאפ (לא למדנו על זה אבל בכל זאת נתנו תרגיל עם זה).

ממה שראיתי בסרון האשמאפ ב java אז הוא נותן להאשמאפ שני ערכים> IInteger,sString>

אז זה לא הכוונה של כל תא ברשימה מקושרת הוא string אבל המיפוי הוא לפי אינטים?

תוכל להסביר לי?

תודה

פורסם
  • מחבר

צריך לממש טבלת גיבוב פתוחה גנרית שיש בה אתהפונקציות שכתבתי.

את פונקצית הגיבוב אפשר לממש כרצוננו .

פורסם

עדיין לא ברור. אתה צריך לממש טבלת גיבוב גנרית. אחלה.

מה זאת אומרת שיש בה פונקציה? מה הקשר לרשימה מקושרת?

פורסם

בשביל טבלת גיבוב פתוחה צריך שבכל תא תהיה רשימת איברים, ואת הרשימה הזו אפשר לעשות באמצעות וקטור דינמי או באמצעות רשימה מקושרת.

הרעיון הכללי הוא שיש לך מערך שממפה בין ערכי ה-hash של המפתחות, לבין רשימה של זוגות מפתח+ערך.

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

דיונים חדשים