SC1007 Assignment Question
Question 3
interleaveQueue()
Write an interleaveQueue() function that rearranges the elements of a given queue of integers with an even length by interleaving the first half of the queue with the second half, using only one stack. The interleaveQueue() function should use only push() and pop() operations to add or remove integers from the stack, and only enqueue() and dequeue() operations to add or remove integers from the queue.
The function prototype is given below
def interleaveQueue(q):
If the queue is1 2 3 4 5 6 7 8 9 10,
the resulting queue after interleaving the first half with the second half is1 10 2 9 3 8 4 7 5 6.
If the queue is10 20 30 40 50 60,
the resulting queue after interleaving the first half with the second half is10 60 20 50 30 40.
Some sample input and its output:
Example 01
Enter a list of numbers, terminated by any non-digit character:1 2 3 4 5 6 7 8 9 10
Before:1 2 3 4 5 6 7 8 9 10
After:1 10 2 9 3 8 4 7 5 6
Example 02
Enter a list of numbers, terminated by any non-digit character:10 20 30 40 50 60 a
Before:10 20 30 40 50 60
After:10 60 20 50 30 40
Sample input
1Â 2Â 3Â 4Â 5Â 6Â 7Â 8Â 9Â 10Â a
Sample output
Enter a list of numbers, terminated by any non-digit character:
Before:Â 1Â 2Â 3Â 4Â 5Â 6Â 7Â 8Â 9Â 10
After:Â 1Â 10Â 2Â 9Â 3Â 8Â 4Â 7Â 5Â 6
Note:
Your code must be able to print the sample output from the provided sample input. However, your code is run against multiple hidden test cases. Therefore, your code must pass these hidden test cases to solve the problem statement.
Limits
Time Limit: 5.0 sec(s) for each input file
Memory Limit: 256 MB
Source Limit: 1024 KB
Scoring
Score is assigned if any testcase passesAllowed Languages






