冒泡排序–Python方式实现
"""
dateTime: 2021-05-01 16:40
sort: bubble
time: O(n²)
space: O(1)
"""
def bubble_sort(array):
"""
冒泡排序
用当前数与下一位数做比较,如果大则交换位置
直到最后一位为最大数
用上述方法将第二大数推至倒数第二位
以此类推
:param array:
:return: array
"""
final_index = len(array)
for i in range(0, len(array)-1):
final_index -= 1
for j in range(0, final_index):
if array[j] > array[j+1]:
array = swap(array, j, j+1)
return array
def swap(array, index_one, index_two):
temp = array[index_one]
array[index_one] = array[index_two]
array[index_two] = temp
return array
def main():
array = [1, 6, 3, 4, 5, 9, 8, 2, 7]
print(bubble_sort(array))
if __name__ == "__main__":
main()