שאלה בנושא תור מדעי המחשב בגרות פתרון בשפת 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;

}