冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法。
它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。
- 冒泡算法的原理
比较相邻的元素。如果第一个比第二个大,就交换他们两个。
对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。
针对所有的元素重复以上的步骤,除了最后一个。
持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较
算法代码实现一:
#冒泡排序算法1 def sortNum(numlist): _numlen = len(numlist) for _num1 in xrange(_numlen - 1,0,-1): for _num2 in xrange(_num1 - 1,-1,-1): if numlist[_num1] < numlist[_num2]: (numlist[_num1],numlist[_num2]) = (numlist[_num2],numlist[_num1]) if __name__ == ‘__main__‘: a = [1,4,-12,100,3,9,7,87,7,6,12,] print "sort previous: ", for iter in a: print iter, sortNum(a) print "\\\\nafter sorted: ", for i in a: print i,
算法代码实现二:
#冒泡算法二 def bubble(x,n): for i in range(n): for j in range(n-1): if x[i]<x[j]: t = x[i] x[i] = x[j] x[j] = t return x list_t = [3,2,8,5,6,4,1,9,8,74] print bubble(list_t,len(list_t))
时间: 2024-12-19 18:50:46