刚接触python的时候,不免会学到排序,比较麻烦,但基本每个语言都适用的便是冒泡排序。
冒泡排序
例如以下例题:
要完成以上的样例输出的话,首先想到的是冒泡排序,以下就是冒泡排序的代码演示:
n=int(input())
m=list(map(int,input().split()))
for i in range(0,n):
for k in range(len(m)-1):
for j in range(len(m)-k-1):
if m[j]>m[j+1]:
m[j],m[j+1]=m[j+1],m[j]
for i in range(len(m)):
print(m[i],end=' ')
sort()排序
python中有sort()方法,也可以进行排序:
n=int(input())
m=list(map(int,input().split()))
m.sort()
for i in range(0,n):
print(m[i],end=' ')
直接选择排序
直接选择排序是一种简单直观的算法,在排序过程中,所需移动记录的次数较少,比较适合数据规模小的情况。
基本思路:
从待排序数据中,选出最小(最大)的一个数与第一个位置的数交换;
然后在剩下的数中,再找最小(最大)的数与第二个位置的数交换位置;
依次类推,直到第n-1个元素与第n个元素交换位置,选择排序结束。
以下就是代码演示:
n=int(input())
m=list(map(int,input().split()))
for i in range(0,n):
for j in range(len(m)-1):
min_index=j
for k in range(j+1,len(m)):
if m[min_index]>m[k]:
min_index=k
if min_index != j:
m[min_index],m[j]=m[j],m[min_index]
for i in range(len(m)):
print(m[i],end=' ')