列表访问
1.列表唯一化
2.有序列表
3.选择排序O(n^2)
li=[12,32,42,53,21,4,100,51,5,78,9,87] max=0; for j in range(1,len(li)): max=0 for i in range(len(li)-j+1): if li[max]<li[i]: max=i temp=li[max] //画家算法 li[max]=li[len(li)-j] li[len(li)-j]=temp print(li)
4.插入排序(n^2)
li=[12,32,5,42,53,21,4,100,51,5,78,9,87] result=[] for i in range(len(li)): if i==0: result.insert(i,li[i]) else: isinserted=False for j in range(i): if li[i]<result[j]: result.insert(j,li[i]) isinserted=True break else: continue if not isinserted: result.append(li[i]) print(result)
5.逆序对
左侧元素大于右侧元素,则两个元素互为逆序对
将每一个逆序对,都记录到后者的名下
采用插入排序的思想,对序列进行插入排序,每一个元素插入的位置往后至序列末尾都与该元素成逆序对