可以使用排序算法,例如快速排序或归并排序,对数组进行排序。在排序时,需要自定义比较函数,以保留多个相同值的排序。
以下是一个使用快速排序的示例代码:
def quick_sort(arr):
if len(arr) <= 1:
return arr
pivot = arr[0] # 选择第一个元素作为枢纽元
less = [x for x in arr[1:] if x <= pivot] # 枢纽元左边的元素
greater = [x for x in arr[1:] if x > pivot] # 枢纽元右边的元素
return quick_sort(less) + [pivot] + quick_sort(greater)
arr = [3, 1, 2, 4, 2, 5, 1]
sorted_arr = quick_sort(arr)
print(sorted_arr)
输出结果为:[1, 1, 2, 2, 3, 4, 5]
在上述代码中,我们使用快速排序算法对数组进行排序。在比较元素大小时,使用的是“小于等于”和“大于”运算符,以保留多个相同值的排序。
你也可以根据需要选择其他排序算法,并根据具体的比较逻辑修改代码。