/ / מערך דינמי ותכונותיו

מערך דינמי ותכונותיו

מערך במקרה הכללי נקרא מסודר.קבוצה של אלמנטים, שלכל אחד מהם יש סוג מסוים (זהה). מערכים הם סטטיים ודינמיים. אורך הראשון נקבע בשלב התכנות, כלומר. לפני תחילת התוכנית לרוץ, השני - במהלך ביצוע.
עבור מערך סטטי, התיאור צריך להיותמספר האלמנטים נקבע כי לא ניתן לשנות (גדל או ירד) במהלך המבצע התוכנית. כאשר אתה מפעיל תוכנית המשתמשת במערך סטטי, מספר בתים מוקצים לביצוע בזיכרון כדי לאחסן את האלמנטים שלה. זיכרון זה יוקצה לתוכנית עד לסיום עבודתה. גם אם לא ייעשה שימוש בזיכרון זה, אין קוד תוכנה אחר שיוכל לגשת אליו.
שפת התכנות של פסקל יכולה לעבודרק עם מערכים סטטיים. לכן, אם אתה רוצה לעבוד עם רצף באורך משתנה, אתה יכול לתאר את המבנה, למשל, של מאה אלמנטים, ולהשתמש בשלבים שונים במספר שונה של אלמנטים, שלא יעלה על המספר 100. וזה כמובן לא הגיוני.
בעיה כזו לא קיימת בשילובסביבת פיתוח של דלפי. המערך הדינמי מאפשר לא לתאר את מספר האלמנטים בתיאור, אלא לקבוע אותו במהלך ביצוע התוכנית. ניתן לתאר מערך דינמי בסעיף Var באופן הבא:
Var Massive: מערך שלם שלם

 מערך דינאמי של דלפי

לפיכך, הצביע על המבנהמזהה מאסיבי, הוא רצף שלם ליניארי באורך לא ידוע (עדיין!). כדי לקבוע את הגודל, על התוכנית להשתמש בהליך SetLength, לדוגמה, SetLength (Massive, 9). המערך הדינאמי המסיבי ירכוש ממד השווה למספר 9. כעת נקבע כי הרצף מכיל תשעה אלמנטים מסוג שלם, המספרים מאפס. לתכונות אלה מערך דינמי. לדלפי יש נוהל שמשחרר זיכרון ממערכת מספרים כאשר הצורך באחסון שלהם נעלם. זהו הליך הסיום, במקרה שלנו הוא יושם באופן הבא: סיים (מסיבי).

מערך דינמי

באופן דומה, ניתן לתאר ולהחיל מערכים דינמיים רב מימדיים בדלפי. לדוגמא, מבנה דינמי דו-ממדי יתואר באופן הבא:
Var Massive: מערך מערך שלם
במידת הצורך, העמודים של המטריצה ​​יכולים להיות באורכים שונים. זה מוגדר גם על ידי נוהל SetLength.

מערך דינמי דלפי

Часто бывает, особенно в больших и сложных תוכניות בהן משתמשים במבני נתונים מפעם לפעם או רק בתחילת / סוף התוכנית. במקרה זה, יהיה בזבזני מאוד לשמור מקום ב- RAM "בשמורה". מערך דינמי הוא אחת הדרכים להפצה רציונלית של המשאבים של מערכת מחשבים. אם כי יש לזה כמה חסרונות. ראשית, זה לא תמיד מספור נוח של אלמנטים מאפס. שנית, המתכנת צריך להבין כל הזמן בכל נקודה בקוד התוכנית באיזה מצב נמצא המערך הדינמי. אולם לגופו של עניין הופכים כל הקשיים למגוחכים. בפרט, אם ברצונך להעביר כמויות גדולות של נתונים מצילום משנה, אינך יכול להסתדר בלי דרך הצגת דינמית.

אהבתי:
0
הודעות פופולריות
התפתחות רוחנית
מזון
כן