【例题】lanqiao3225 宝藏排序Ⅰ
这里的n的范围可以使用冒泡排序、选择排序和插入排序等算法。
冒泡排序
n=int(input())
a=list(map(int,input().split()))
def pop_sort(a):
for i in range(n):
for j in range(n-i-1):
if a[j]>a[j+1]:
a[j],a[j+1]=a[j+1],a[j]
pop_sort(a)
print(' '.join(map(str,a)))
选择排序
n=int(input())
a=list(map(int,input().split()))
def select_sort(a):
for i in range(n):
min_idx=i
for j in range(i+1,n):
if a[min_idx]>a[j]:
a[j],a[min_idx]=a[min_idx],a[j]
select_sort(a)
print(' '.join(map(str,a)))
插入排序
n=int(input())
a=list(map(int,input().split()))
def insert_sort(a):
for i in range(1,n):
key=a[i]
j=i-1
while j>=0 and a[j]>key:
a[j+1]=a[j]
j=j-1
a[j+1]=key
insert_sort(a)
print(' '.join(map(str,a)))