编写一个学生管理系统,用于将一个字典按置排序,不能使用sorted函数,可使用任意排序算法实现(冒泡排序,选择排序,快速排序,希尔排序等等),返回值为元素为元组的列表,程序异常返回None并运行出来
时间: 2024-05-02 19:17:21 浏览: 58
冒泡排序,选择排序,插入排序,希尔排序,堆排序,归并排序,快速排序源码实现
好的,以下是一个使用冒泡排序的学生管理系统代码示例:
```
def sort_students(students):
if not isinstance(students, dict):
return None
# 将字典转换为元素为元组的列表
student_list = [(k, v) for k, v in students.items()]
# 冒泡排序
for i in range(len(student_list)):
for j in range(len(student_list) - 1):
if student_list[j][0] > student_list[j+1][0]:
student_list[j], student_list[j+1] = student_list[j+1], student_list[j]
return student_list
```
其中,`students`是一个字典类型的输入,函数首先判断输入是否为字典类型,如果不是则返回None。接着,将字典转换为元素为元组的列表,并使用冒泡排序算法对列表进行排序。最后,返回排序后的列表。
示例调用:
```
students = {'Tom': 80, 'Alice': 90, 'Bob': 70}
sorted_students = sort_students(students)
if sorted_students is not None:
print(sorted_students)
else:
print('输入有误!')
```
输出结果:
```
[('Alice', 90), ('Bob', 70), ('Tom', 80)]
```
阅读全文