以下是一个使用快速排序算法按照人员数组的编号进行排序的示例代码:
def quicksort(arr):
if len(arr) <= 1:
return arr
pivot = arr[len(arr)//2]
left = [x for x in arr if x['编号'] < pivot['编号']]
middle = [x for x in arr if x['编号'] == pivot['编号']]
right = [x for x in arr if x['编号'] > pivot['编号']]
return quicksort(left) + middle + quicksort(right)
# 示例人员数组
people = [{'编号': 3, '姓名': '张三'}, {'编号': 1, '姓名': '李四'}, {'编号': 2, '姓名': '王五'}]
# 按照编号排序
sorted_people = quicksort(people)
# 输出排序结果
for person in sorted_people:
print(person)
这段代码使用递归的快速排序算法对人员数组按照编号进行排序。首先,选择一个基准元素(这里选择数组中间的元素)作为枢纽值。然后,将数组分成小于、等于和大于枢纽值的三个部分。最后,递归地对小于和大于枢纽值的两个部分进行排序,然后将三个部分连接起来得到最终的排序结果。