直接排序python实现
排序问题是算法领域非常经典的案例,其中的一些排序算法(例如堆排序)还用到了数据结构的知识。在最近一段时间,我打算将常见的排序算法都用python实现一遍,做一个排序算法总结,在必要的地方将给出算法的思想阐述。
今天先讲解最简单的直接排序,排序的思想非常暴力,就是将数组(或者列表)中的元素进行逐一比较。以从小到大排序为例,如果在数组中的某个元素小于前面的元素,那么就将这两个元素位置互换,直到每一个元素都小于后一个元素,最后一个元素是最大值。
代码如下:
a=[2,3,56,-89,-96,52] #测试案例
b=len(a) #列表长度
for i in range(b):
for j in range(i+1,b):
if a[i]>a[j]: #如果后面的元素小于前面的元素则调换位置
a[j],a[i]=a[i],a[j]
print(a)