最近学习排序,总结一下。首先看一下冒泡排序,它的基本思想是:两两比较相邻记录的关键字,逆序则交换位置。
下面先放上代码(python实现)
#定义交换位置的函数 def swap(L, i, j): t = L[i] L[i] = L[j] L[j] = t return L #初级版的冒泡排序 def BubbleSort0(L): for i in range(0, len(L)): for j in range(i+1, len(L)): if L[i] > L[j]: L = swap(L, i, j) return L L = [9, 1, 5, 8, 3, 7, 4, 6, 2] l = BubbleSort0(L) print(l)
该算法严格来讲不是标准的冒泡排序,因为它不是“两两相邻比较”。在第一个循环中,i=0,j从1 to 9,也就是说下标为0的数字,分别与下标为1-9的数字进行比较,若位于第一位的数字比后面的大,则把后面的数字调到前面来。
这是第一篇博客,内容也比较简单,希望自己在不断的积累中得到进步!
Good night !