שאלה בנושא תור מדע המחשבכתוב פעולה בשפת C# המקבלת ...
שאלה בנושא תור מדע המחשב
כתוב פעולה בשפת C# המקבלת תור של מחרוזות. תור מנצח הוא תור שבו סוף כל מחרוזת היא התחלה של המחרוזת הבאה אחריה בתור. הפעולה תחזיר אמת אם התור שהתקבל הוא תור מנצח, אחרת שקר. שם הפונקציה יהיה Victory.
אין חובה לשמור על התור!
דוגמה לתור מנצח:
ראש התור← "ALMOG" ← "GOMLA" ← "APPPLE ← "EGG"←סוף התור
פתרון מלא:
public static bool Victory (Queue<string> q)
{
string pre="",cur="" ; //previous, current
if(!q.IsEmpty())
{
pre = q.Remove();
}
while( !q.IsEmpty())
{
cur = q.Remove();
char first = cur[0];
char last = pre[pre.Length-1];
if(first != last)
return false;
pre = cur; // הנוכחי כרגע הופך להיות הקודם של הבא בתור
}
return true;
}