冒泡排序算法进行的是这样一个过程:遍历文件,如果近邻的两个元素大小顺序不对,就将两者交换,重复这样的操作指导整个文件排好序。
假设我们都是将文件元素从右移到左的。第一遍中,当遇到最小的元素时,将它与左边元素逐个交换,直到将最小的元素移到队列的最左边。然后第二遍中,将第二小的元素放到队列左边第二位中,依次类推。因此,一共需要N遍。冒泡排序实际上是一种选择排序,但需要开销更多工作将每个元素放到合适的位置。
python代码实现:
#!/usr/bin/env python
def swap(array,i,j):
temp = array[i]
array[i] = array[j]
array[j] = temp
def bubble(array,begin,end):
if(end > begin >= 0):
for i in range(end):
for j in range (end,begin+i,-1):
if array[j] < array[j-1]:
swap(array,j,j-1)
print array
print '--------------------'
if __name__=="__main__":
array = [4,5,1,8,0,3,6]
bubble(array,0,len(array)-1)
print array
参考文档:《算法:C语言实现》