- 快速排序
def quick_sort(seq):
if len(seq) < 2:
return seq
else:
base = seq[0]
left = [elem for elem in seq[1:] if elem <= base]
right = [elem for elem in seq[1:] if elem > base]
return quick_sort(left) + [base] + quick_sort(right)
- 冒泡排序
def bubble_sort(seq):
for i in range(len(seq)-1):
flag = 1
for j in range(len(seq)-i-1):
if seq[j] > seq[j+1]:
seq[j],seq[j+1] = seq[j+1],seq[j]
flag = 0
if flag:
break
return seq
- 简单选择排序
def select_sort(seq):
for i in range(len(seq)-1):
j = seq[i+1:].index(min(seq[i+1:]))
if seq[i] > seq[j+i+1]:
seq[i],seq[j+i+1] = seq[j+i+1],seq[i]
return seq
- 插入排序
def insert_sort(seq):
for i in range(1,len(seq)):
for j in range(i-1,-1,-1):
if seq[j] > seq[i]:
seq[j],seq[i] = seq[i],seq[j]
i = i-1
else:
break
return seq
悄咪咪发个牢骚,我明明投的不是开发岗,笔试还要我写代码,甚至有算法题,岗位要求理工科背景就代表要会写代码🐎