מהו מבנה נתונים ב-C++

Mhw Mbnh Ntwnym B C



מבני מידע הם מושג בסיסי במדעי המחשב, ו-C++ מספק מגוון רחב של מבני נתונים מובנים ומוגדרים על ידי המשתמש החיוניים לארגון, מניפולציה ואחסון נתונים ביעילות. בין אם אתה מתחיל או מתכנת מנוסה, הבנת מבני נתונים ב-C++ היא חיונית לבניית אלגוריתמים אופטימליים ולפתרון בעיות מורכבות.

במאמר זה, נבדוק את החשיבות של מבני מידע , הסוגים השונים של מבני מידע זמינים ב-C++, וכיצד להשתמש בהם ביעילות בתוכניות שלך.

מהו מבנה נתונים ב-C++

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







ב-C++, ה מבני מידע יש את התחביר הבא:



struct structure_name {

datatype1 name1 ;

datatype2 name2 ;

datatype3 name3 ;

datatype4 name4 ;

..

..

..

} obj_name ;

בתחביר לעיל, ה מילת מפתח struct משמש להגדרת המבנה ו structure_name הוא השם המוגדר על ידי המשתמש של המבנה והוא יכול להשתנות. ה סוג נתונים1 הוא סוג הנתונים של החבר במבנה ו שם 1 הוא שמו של חבר המבנה ו obj_name הוא שם האובייקט שעבורו מוגדר המבנה.



דוגמא

בדוגמה למטה, ה מידע מבנה מורכב משלושה חברים: שם, גיל, ו אֶזרָחוּת.





struct מידע

{

לְהַשְׁחִיר שֵׁם [ חמישים ] ;

int אֶזרָחוּת ;

int גיל ;

}

בוא נריץ את הקוד הזה ב-C++, הגדרנו את כל האיברים האלה באדם המבנה ולא הקצנו שום מקום. בפונקציה הראשית, אתחלנו את האיברים האלה עם ערכים ספציפיים והדפסנו אותם:

#include

באמצעות מרחב שמות std ;

struct מידע

{

שם מחרוזת ;

int גיל ;



} ;

int רָאשִׁי ( בָּטֵל ) {

struct מידע עמ' ;

ע. שֵׁם = 'זינב' ;

ע. גיל = 23 ;

cout << 'שם אדם:' << ע. שֵׁם << endl ;

cout << 'גיל אדם:' << ע. גיל << endl ;

לַחֲזוֹר 0 ;

}

הקוד מגדיר מבנה בשם מידע עם שתי תכונות: שם וגיל. בפונקציה הראשית, חדש מידע האובייקט נוצר ושמו וגילו מוקצים. לבסוף, הערכים של שדות אלה מודפסים למסוף באמצעות cout.



סיווג מבנה הנתונים ב-C++

ב-C++ ה מבנה נתונים מחולק לשתי קטגוריות רחבות: מבני נתונים ליניאריים ולא ליניאריים . מבני הנתונים מחולקים על סמך המאפיינים הבאים:

מאפיין הֶסבֵּר דוגמא
ליניארי הנתונים מסודרים ברצף ליניארי מערכים
לֹא קָוִי פריטי הנתונים אינם ברצף הליניארי גרף, עץ
סטָטִי המיקום, הגודל והזיכרון קבועים מערכים
דִינָמִי הגודל משתנה בהתאם לביצוע התוכנית רשימה מקושרת
הומוגנית הפריטים הם מאותו סוג מערכים
לא הומוגנית הפריטים עשויים להיות מאותו סוג או לא מבנים

הקטגוריות של מבני נתונים ב-C++ הן:

1: מערכים

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

2: רשימה מקושרת

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

3: ערימות

Stacks הוא סוג הנתונים המופשט העוקב אחר עקרון LIFO (Last in First Out). כלל זה אומר שהרכיב שהוכנס לבסוף יימחק ראשון. הם משמשים עם אלגוריתמים רקורסיביים לאחור.

4: זנבות

התורים הם גם סוג הנתונים המופשטים ועוקבים אחר כלל FIFO (ראשון נכנס ויוצא ראשון). כלל זה אומר שהרכיב שהוכנס ראשון יימחק ראשון. הם מועילים בעת טיפול בפירושי מערכת בזמן אמת.

5: עצים

העצים הם קבוצה של מבני נתונים לא ליניאריים עם מספר צמתים. זה מאפשר רק קצה אחד עם שני קודקודים.

6: גרפים

בגרף, כל צומת הוא קודקוד וכל קודקוד מקושר לקודקוד אחר דרך קצה. הכדורים הם קודקודים והחצים הם קצוות, הם משמשים ליישום תרחישים מהחיים האמיתיים או רשתות עצביות. לגרפים שלושה סוגים שונים: גרף לא מכוון, גרף דו-כיווני וגרף משוקלל.

ביצוע פעולות על מבני נתונים

אנו יכולים לבצע את הפונקציות הבאות על מבני נתונים ב-C++:

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

שורה תחתונה

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