题目:如何实现冒泡排序。
分析:冒泡排序的思想:对于给定的n个记录,从第一个记录开始依次对相邻的两个记录进行比较,当前面的记录大于后面的记录时,交换其位置一轮比较和换位后,n个记录中的最大记录将位于第n位;然后对前(n-1)个记录进行第二轮比较;重复该过程直到进行比较的记录只剩下一个时为止。冒泡排序是一种稳定的排序方法,最好的情况下的时间复杂度为O(n),最坏的情况下时间复杂度为O(n**2),平均情况下的时间复杂度为O(n**2)。空间复杂度为O(1)。
code:
def bubble_sort(lists):
for i in range(len(lists) - 1):
for j in range(len(lists) - i - 1):
if lists[j] > lists[j + 1]:
lists[j], lists[j + 1] = lists[j + 1], lists[j]
return lists
if __name__ == "__main__":
lists = [3, 4, 2, 8, 9, 5, 1]
print(bubble_sort(lists))