冒泡排序算法进行的是这样一个过程:遍历文件,如果近邻的两个元素大小顺序不对,就将两者交换,重复这样的操作指导整个文件排好序。
假设我们都是将文件元素从右移到左的。第一遍中,当遇到最小的元素时,将它与左边元素逐个交换,直到将最小的元素移到队列的最左边。然后第二遍中,将第二小的元素放到队列左边第二位中,依次类推。因此,一共需要N遍。冒泡排序实际上是一种选择排序,但需要开销更多工作将每个元素放到合适的位置。
python代码实现:
#!/usr/bin/env pythondef swap(array,i,j): temp = array[i] array[i] = array[j] array[j] = tempdef 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语言实现》