תוֹכֶן
התור הוא מבנה נתונים דינמי שממנו ניתן לגשת לנתונים בתהליך "ראשון-יוצא ראשון". ערימה היא מבנה נתונים דינמי שממנו ניתן לגשת לנתונים בתהליך "נכנס אחרון, יוצא ראשון". אם תיישם מחסנית, רק הפריט האחרון שתזין יהפוך לזמין. אם אתה רוצה לגשת לנתונים כי הוא הבסיס שלה (את הפריט הראשון שאתה שם), אז אתה תהיה טיפול זה בתור. כדי לעשות זאת, עליך ליישם ערימה שנייה.
הוראות
יישום תור באמצעות שתי ערימות הוא פשוט (Ablestock.com/AbleStock.com/Getty תמונות)-
בעורך הטקסט שלך, כתוב את הקוד כדי ליישם את הערימה בהתאם לנהלים ולפונקציות הזמינים בשפת התכנות שבה ברצונך להשתמש. התקשר לערימה הזו Stack_Entry. שים את הנתונים ב- Stack_Entry (שפות תכנות רבות משתמשות בפקודה "push" כדי להוסיף נתונים). לדוגמה, להפעיל את הפקודה "לדחוף" ב Stack_Entry להזין את הנתונים בסדר הבא: "A", "B" ו- "C". "A" הוא הראשון להיכנס והוא בחלק התחתון של הערימה. אם ברצונך לגשת לפריט הראשון, אתה מטפל בנתונים בתור.
-
כתוב את הקוד כדי ליישם ערימה שנייה בהתאם לנהלים ולפונקציות הזמינים בשפת התכנות שבה ברצונך להשתמש. קוראים לזה StackSafe (שפות תכנות רבות משתמשות בפקודה "pop" כדי להסיר נתונים מערימה).
-
הסר כל פריט מהמחסנית Stack_Insert והנח אותם במחסנית השינה. באופן כללי, אתה מסיר פריט Stack_Input ומקם אותו ב- StackAid. לאחר מכן, בדוק אם ה- Stack_Input ריק. אם הוא אינו ריק, הסר את הפריט הבא מתוך Stack_Input והנח אותו בערימת השינה. חזור על הפעולה עד שה- Stack_Input ריק. בדוגמה שלנו, אתה מסיר את "C" מ Stack_Input ולשים אותו Stack_Aid. ודא ש- InputPilot ריק. הסר "B" מ Stack_Input ולהגדיר אותו Stack_Aid. ודא ש- InputPilot ריק. הסר "A" מ Stack_Input ולהגדיר אותו Stack_Aid. ודא ש- InputPilot ריק.
-
כאשר ערימת Stack_Path ריקה, הפריט שהיה ב- Stack_Input ("A" בדוגמה שלנו) הבסיס נמצא כעת בחלק העליון של Stack_Aside. הסר את הפריט SleepSeat והפכת את הערימה לתור. הפריט הראשון שלך בערימה הוא כעת הפריט הראשון שיוצא (תחילה, תחילה, או FIFO תחילה, תחילה).
שתי ערימות שוות בשורה
איך
- רוב שפות התכנות מספקות פונקציות לטיפול בנתונים בווקטור כאילו היה תור או ערימה. כלומר, אתה יכול לגשת גם את האחרון ואת המיקום הראשון של וקטור ללא קשר לאיזה סוף אתה מזין את הנתונים מ. אם הנתונים שלך הם בקטור, אתה לא צריך לדאוג לגשת אליהם בתור תור או מחסנית. אבל אם הנתונים שלך הוא ערימה דינמית ואתה רוצה להתייחס אליו בתור בתור אז אתה צריך ליישם ערימה השנייה.
מה שאתה צריך
- עורך טקסט
- מהדר או מתורגמן עבור שפת תכנות כלשהי