def quick_sort(data):
if len(data)<2 or (len(data)==2 and data[0]<=data[1]): #[2,3]此情况会死循环 所以加上特例验证
return data
mid = data[len(data)//2]
left,right=[],[]
#data.remove(mid) #不更改原对象为妙
for num in data:
if num>mid:
right.append(num)
if num<=mid:
left.append(num)
return quick_sort(left)+quick_sort(right) #拼接list def insert_sort(data):
for i in range(len(data)):
for j in range(i):
if data[i]<data[j]:
data.insert(j,data.pop(i))
break
return data
array = [4,2,2,3,1,5,6,7]
arr2 = quick_sort(array)
print(arr2,len(arr2))
print(array,len(array)) arr3 = insert_sort(array)
print(arr3,len(arr3))
print(array,len(array))

list.remove(value) 只是删除first ocurrency of value

d = [3,4,3,5,1]
d.remove(d[2])
print(d) #[4, 3, 5, 1] #删的不是第二个3

python中变量按照不可变量理解,d[0] is d[2] ==》Ture, 其实是同一对象

最新文章

  1. centos7 web服务器内核优化
  2. 在MAVEN仓库中添加ORACLE JDBC驱动
  3. MVC5 + EF6 完整入门教程三
  4. [更新中]并发和并行(Concurrency and Parallelism)
  5. Red Hat Enterprise Linux 6.4常用命令
  6. POJ2689 - Prime Distance(素数筛选)
  7. asp.net缓存(二)
  8. 静态网页VS动态网页
  9. UIPinchGestureRecognizer 的scale使用
  10. Jexus 5.8.3正式发布:Asp.Net Core在Linux上最友好服务器平台
  11. python之字典操作
  12. 同一个电脑安装两个jdk版本
  13. HTML页面的三种弹框方式
  14. Gym .101879 USP Try-outs (寒假自训第七场)
  15. 【liunx命令】上传下载文件的方法
  16. 洛谷——P2381 圆圆舞蹈
  17. POJ1475 Pushing Boxes 华丽丽的双重BFS
  18. 解决The current branch is not configured for pull No value for key branch.master.merge found in config
  19. asp.net 表单数据提交,常见方式与错误总结
  20. CSS3 高级属性

热门文章

  1. jQuery循环
  2. Linux 文件时间记录属性 调优
  3. 从GitHub远程仓库中删除文件夹或文件
  4. 【Entity Framework】Revert the database to specified migration.
  5. Learning-Python【0】:Windows环境下Python2和Python3的安装
  6. svg(一)
  7. 【Core】.NET Core 部署在Linux
  8. obs studio 使用
  9. 5种网络IO模型(有图,很清楚)
  10. HTML 点击图片放大