שאלה בנושא תור מדעי המחשב בגרות פתרון בשפת C#כתבו ...

שאלה בנושא תור מדעי המחשב בגרות פתרון בשפת C#
כתבו פעולה המקבלת תור וממיינת את התור לשני תורים: התור שהתקבל ועוד תור חדש.
כל המספרים הזוגיים יהיו בתור שהתקבל.
כל המספרי האי זוגיים יהיו בתור החדש.
על הפעולה להחזיר את התור החדש.
על שם הפונקציה להיות: sort.

פתרון מלא:

pubic static Queue<int> sort(Queue<int> q )
{
Queue<int> odd = new Queue<int>(); // odd = אי זוגי
Queue<int> even= new Queue<int>(); // even= זוגי
while( !q.IsEmpty() )
{
if (q.Head() %2 == 1)
{
odd.Insert(q.Remove()); //הסרה והכנסה לתור אחר
}
else{
even.Insert(q.Remove()); //הסרה והכנסה לתור אחר
}
}
while(!even.IsEmpty())
q.Insert(even.Remove());


return odd;
}