冒泡排序简介
冒泡排序(Bubble Sort)算法是一种计算机科学领域的较简单的排序算法。 它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。
完整代码
下面要用python语言来实现冒泡排序算法,完整的代码如下:
def bubble(num_list):
for i in range(len(num_list)):
for j in range(i):
if num_list[j] > num_list[i]:
num_list[j], num_list[i] = num_list[i], num_list[j]
return num_list
a_list = [3, 2, 9, 1, 5, 7, 2, 6]
print(a_list)
print(bubble(a_list))
代码分析
首先,第1行定义了冒泡排序函数,然后使用第一层for循环对列表所有元素进行处理。接着第二层嵌套的循环使用上一层循环中取到的当前处理数组元素的下标,再进行在最里层循环中不断的对数组中从第一个数开始和最后一个数(外层循环处理到数组元素的下标对应的数)做对比,如果这个数组中前面有数大于最后的数(外层循环处理到数组元素的下标对应的数),那么就将这两个数的位置相互调换。函数的最后返回上面循环处理过的数组。
参考:
http://baike.baidu.com/item/%E5%86%92%E6%B3%A1%E6%8E%92%E5%BA%8F