1. 冒泡排序
def _bubblesort_(input):
length = len(input)
for i in range(length-1):
swap = False
for j in range(length-i-1):
if input[j] > input[j+1]:
input[j], input[j+1] = input[j+1], input[j]
swap = True
if swap == False:
break
return input
2. 选择排序
def selectSort(a):
length = len(a)
for i in range(length-1):
min = i
for j in range(i+1, length-i-1):
if a[min] > a[j]:
min = j
if min != i:
a[min], a[i] = a[i], a[min]
return a
3. 快速排序
def patition(a, l, r):
key = l
while l < r:
while l < r and a[r] >= a[key]:
r -= 1
while l < r and a[l] <= a[key]:
l += 1
a[l], a[r] = a[r], a[l]
a[l], a[key] = a[key], a[l]
return l
def quickSort(a, l, r):
if l >= r:
return
mid = patition(a, l, r)
quickSort(a, l, mid-1)
quickSort(a, mid+1, r)
def QuickSort(x):
n = len(x)
if n <= 1:
return x
quickSort(x, 0, n-1)
return x
inp = input().split()
inp = list(map(int, inp))
oup1 = QuickSort(inp)
print(oup1)
4. 归并排序