以下是一个使用冒泡排序算法对数字和名字字符串进行排序的示例代码:
def bubble_sort(scores, names):
n = len(scores)
for i in range(n - 1):
for j in range(n - i - 1):
if scores[j] > scores[j + 1]:
# 交换数字数组中的元素
scores[j], scores[j + 1] = scores[j + 1], scores[j]
# 交换名字数组中的元素
names[j], names[j + 1] = names[j + 1], names[j]
names = ["Tom", "Jerry", "Alice", "Bob"]
scores = [80, 95, 75, 85]
# 调用冒泡排序函数
bubble_sort(scores, names)
# 打印排序后的结果
for i in range(len(scores)):
print(names[i], scores[i])
这段代码先定义了一个bubble_sort()
函数,接收两个参数scores
和names
,分别代表数字和名字字符串的列表。函数中使用了嵌套的循环来实现冒泡排序算法,将数字和名字字符串同时进行排序。在每一次内部循环中,如果相邻两个数字的顺序不正确,就交换它们的位置。同时也交换对应位置的名字字符串,以保持对应关系。
接下来,定义了一个名字字符串的列表names
和一个数字的列表scores
作为示例的输入数据。然后调用bubble_sort()
函数对它们进行排序。最后,通过遍历排序后的结果,打印出每个名字和对应的分数。
运行该代码,输出结果如下:
Alice 75
Bob 85
Tom 80
Jerry 95