在右侧编辑器中的Begin-End之间补充代码,实现队列变换的功能。具体要求如下: 队列为 n×n; 每个元素循环向左移m个位置(0<m<n),即将第0、1、…… 、n−1列变换为第n−m、n−m+1、…… 、n−1、0、1、…… 、n−m−1列。 提示:存储n×n的方阵需要使用二维数组。
时间: 2023-07-15 21:10:51 浏览: 127
C++ mfc中在对话框中加入菜单栏源代码
4星 · 用户满意度95%
```python
def shift_queue(queue, m):
n = len(queue)
# 循环左移m个位置
new_queue = [[0]*n for _ in range(n)]
for i in range(n):
for j in range(n):
new_j = (j-m+n) % n
new_queue[i][new_j] = queue[i][j]
return new_queue
```
使用示例:
```python
queue = [[1,2,3],[4,5,6],[7,8,9]]
new_queue = shift_queue(queue, 2)
print(new_queue)
# 输出:[[3, 1, 2], [6, 4, 5], [9, 7, 8]]
```
阅读全文