算法
有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]