הזמן קצר והמלאכה מרובה ... תנו לי קוד לתור ומח - תכנות - HWzone פורומים
עבור לתוכן
  • צור חשבון

הזמן קצר והמלאכה מרובה ... תנו לי קוד לתור ומח


Yehudaa

Recommended Posts

שלום חברים אני ממש לחוץ בזמן

אני לומד כרגע על מבני נתונים .

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

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

רצוי בג'אווה

תודה חבר'ס :xyxthumbs:

קישור לתוכן
שתף באתרים אחרים

אני לא אכתוב לך את הקוד אבל אני יכול להגיד לך איך עושים את זה "בגדול".

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

התור שזה queue באנגלית קצת יותר מסובך כי אתה צריך שני משתנים לאינדקס ומערך . תמיד המערך הוא סיקלי ככה שאתה מגיע לסוף אתה חוזר להתחלה. בדרך כלל משתמשים בפעולת השארית( %) אם משנים את אחד האינדקסים . תכנתים מנוסים לרוב מעגלים את גודל המערך לחזקת 2 הכי קרובה כדי להשתמש ב & (binary and ) שהרבה יותר מהיר . חילוק היא לרוב הפעולה הכי איטית במחשב ויש גם פלטפורמות כמו PPC שאין בהם פעולת % אז זה מאוד כבד (חילוק, הכפלה וחיסור ) . לרובה האינדקסים תמיד מתקדמים עם חיבור וזה קל . אם אתה רוצה לעשות פעולת חיסור לאחד האינדקסים או לשניהם (כדי לחשב את הגודל או לעשות pop כמו במכסנית כי "שינית את דעתך" ) זה מסובך כי אתה לא רוצה ערכים שליליים אז פשוט מוסיפים לאינדקס את גודל המערך לפני החיסור והפעולת שארית מסדרת את זה.

קישור לתוכן
שתף באתרים אחרים

א) "שארית"

ב) "מחסנית"

ג) כרגע תעזוב את השימוש ב-&, זו אופטימיזציה (שאינה תמיד במקום).

למימוש תור כמערך (ואז הוא מוגבל בגודל) אתה רוצה:

* מערך בגודל N

* אינדקס לראש התור

* אינדקס לזנב התור

* שתי כפות שמן זית

על מנת לקרוא מראש התור HEAD

1. תבדוק שזנב התור TAIL לא זהה לראש התור HEAD (כלומר התור ריק).

2. תקרא מאינדקס HEAD במערך.

3. HEAD שווה ל-HEAD + 1 מודולו N.

4. תחזיר את מה שקראת ב-2.

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

קישור לתוכן
שתף באתרים אחרים

ארכיון

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

×
  • צור חדש...