编写函数,将一个顺序表 A(有n个元素且任何元素均不为 0),分拆成两个顺序表B和C。使A中大于0的元素存放在B中,小于0的元素存放在 C 中,返回顺序表B和C。
时间: 2024-09-30 12:06:09 浏览: 47
顺序表中有n个元素,每个元素是一个字符。试设计一算法,使表中字符按照字母字符,数字字符和其他字符的顺序排列。要求利用原来的存储空间,元素移动次数最小。
为了编写这样的函数,我们可以创建两个新的顺序表B和C,然后遍历输入列表A。对于A中的每个元素,我们将判断其值的正负,并将其添加到相应的列表中。这里假设我们已经有了基础的顺序表数据结构,可以支持在末尾添加元素。
以下是Python的一个简单示例:
```python
def split_list(A):
B = [] # 初始空列表用于存储大于0的元素
C = [] # 另一空列表用于存储小于0的元素
for num in A:
if num > 0:
B.append(num)
elif num < 0:
C.append(num)
return B, C
# 示例
input_list = [1, -2, 3, -4, 5]
B, C = split_list(input_list)
print("List B:", B) # 输出: [1, 3, 5]
print("List C:", C) # 输出: [-2, -4]
```
在这个例子中,函数`split_list`接收一个顺序表A作为参数,然后通过循环逐个比较元素,将它们分别添加到B或C中,最后返回两个分割后的顺序表。
阅读全文