Python编程如何合并有序数组
如果现在有两个数组,用户需要我们把这数组要合在一起,要怎么弄呢?
我们要分析逻辑,只要你的逻辑思路是对的,实现起来就不难了,就怕没有思路,那实现就很难。按照思路编制出来,然后调试运行是不是达到的预期的效果。
来看下,首先我们考虑到2个数组,那么就要设置二个数组,无论是你预先设置,还是让用户输入,总是要有,另外我们还要有序,不可以插入就可以了。
差不多了,我们可以定义一个方法去实现,然后实例化就好了
代码如下:
def h_arrays(nums1, nums2):#自定义一个吧
new_num = []#一个新的数组来保存,你也可以用其中一个数组保存,根据实际来选择
i = j = 0
# 遍历两个数组,比较元素大小
while i < len(nums1) and j < len(nums2):#通过比较,我们把元素插入进new_num中
if nums1[i] <= nums2[j]:
new_num.append(nums1[i])#如果从大到小,就倒着来
i += 1#变量要增加,直到条件结束
else:
new_num.append(nums2[j])
j += 1
# 将剩余元素添加到结果中
new_num += nums1[i:]
new_num += nums2[j:]
return new_num
# 现在我们通过预设数组,你可以随机或者通过用户输入
nums1 = [1, 3, 5]
nums2 = [2, 4, 6]
print(h_arrays(nums1, nums2)) # 输出 [1, 2, 3, 4, 5, 6]
不同的实现,定义的方法有所不同,比如你不用新的数组,选择其中一个数组保存,从前从后插入,然后排序也是可以。只要结果达到预期就是成功,效率怎么样数据量少的时候也感觉不出来,多练就会发现新知识,掌握好编制方法。有兴趣就多练练吧。