将顺序表a1,a2——an,b1,b2——bn转变为b1,b2——bn,a1,a2——an
时间: 2023-10-30 20:08:51 浏览: 142
可以采用以下方法实现:
1. 将顺序表 a1,a2——an 逆序,得到 a'n,a'n-1——a1;
2. 将顺序表 b1,b2——bn 逆序,得到 b'n,b'n-1——b1;
3. 将 a'n,a'n-1——a1 与 b'n,b'n-1——b1 依次合并,得到 b1,b2——bn,a1,a2——an 的新顺序表。
具体实现代码如下:
```python
def reverse_list(lst):
"""
将列表逆序
"""
start, end = 0, len(lst) - 1
while start < end:
lst[start], lst[end] = lst[end], lst[start]
start += 1
end -= 1
def merge_list(a_lst, b_lst):
"""
合并两个列表
"""
res = []
for i in range(len(b_lst)):
res.append(b_lst[i])
for i in range(len(a_lst)):
res.append(a_lst[i])
return res
def change_order(a_lst, b_lst):
"""
将 a_lst,b_lst 转换为 b_lst,a_lst
"""
reverse_list(a_lst)
reverse_list(b_lst)
return merge_list(a_lst, b_lst)
```
使用示例:
```python
a_lst = [1, 2, 3, 4, 5]
b_lst = ['a', 'b', 'c', 'd', 'e']
new_lst = change_order(a_lst, b_lst)
print(new_lst) # ['b', 'c', 'd', 'e', 1, 2, 3, 4, 5]
```
阅读全文