算法

有a、b两个变量,在不引入第三个变量的情况下,交换a、b的值

a = a + b
b = a - b
a = a - b

排序

选择排序

首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置
然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾
以此类推,直到所有元素均排序完毕

遍历序列,拿第一个数和后面所有数比较,得出最小的数
把这个最小的数和第一个数位置交换
拿第二个数 ... 以此类推

def selection_sort(l):
    count = len(l)
    for i in range(0, count):
        minimum = i
        for j in range(i + 1, count):
            if l[minimum] > l[j]:
                minimum = j
        l[i], l[minimum] = l[minimum], l[i]

冒泡排序

它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来
走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成

遍历序列,拿第一个车数和后面所有数比较一遍,第一个数比它大就和它交换位置
这样同样会得出最小的数放在第一个数的位置
拿第二个数 ... 以此类推

def bubble_sort(l):
    count = len(l)
    for i in range(0, count):
        for j in range(i + 1, count):
            if l[i] > l[j]:
                l[i], l[j] = l[j], l[i]
posted @ 2018-01-30 17:11  宫内莲华x  阅读(111)  评论(0编辑  收藏  举报