python 实战26 冒泡排序

冒泡排序
题目内容:

冒泡排序是一种简单的排序算法。它重复地遍历要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。遍历数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。

已知输入为一个列表,列表中的元素都为整数,我们定义冒泡排序函数为bubbleSort,将列表中的元素按从小到大进行排序后得到一个新的列表并输出,给出程序主体如下:

alist=list(map(int,input().split()))
print(bubbleSort(alist))

请补充完成对bubbleSort函数的定义。

输入格式:

共一行,列表中的元素值,以空格隔开。

输出格式:

共一行,为一个列表。

输入样例:

1 4 2 3

输出样例:

[1, 2, 3, 4]


My answer
思路:最原始的方法来解答这道题,两两比较,需要用到双重循环。对于含有n个元素的列表,先用for,进行n-1次的比较,把最大的数字放到最后面,这循环我们要进行多少次呢?懒的话,n-1次也行,强迫症的话,,就 n-1- i 次

def bubbleSort(lst):
    for i in range(len(lst) - 1):
        for j in range(len(lst) - 1 - i):
            if lst[j] > lst[j + 1]:
                lst[j], lst[j + 1] = lst[j + 1], lst[j]
    return lst
alist = list(map(int, input().split()))
print(bubbleSort(alist))

猜你喜欢

转载自blog.csdn.net/byakki/article/details/86607843