排序算法(1)
首先列举一些经典的案例(皆为python编写):
1
a=[33,24,45,16,77]
for i in range(2):
for j in range(4,i,-1):
if a[j]>a[i]:
a[j],a[i]=a[i],a[j]
print(a)
###降序排列,从后向前将数值大的排在序列的前面
i代表排序的轮数或将比较的前数,j则代表当前数,若j大则与i换位
且只排序两轮###
所以最终结果是[77,45,33,16,24]
后面代码不做过多注释,大家要像1中那样分析
最好代一下数值然后理解抽象思维
2
d=[6,3,2,7,5]
for i in range(2):
k=i
for j in range(i+1,5):
if d[j]>d[k]:
k=j
t=d[k]
for i in range(k,i,-1):
d[j]=d[j-1]
d[i]=t
print(d)
结果是[7,6,3,2,5]