排序是每个语言都需要学会的,不管是c++、java还是python,套路都是类似的

python中也有自带的排序函数sort,直接使用也可

闲来无事写了几个排序算法,各不相同

1、每次遇到最小的数都交换

list1 = [56,34,87,3,59,10,3543,98]

def sortList(listTest = None):
length = len(listTest)
for i in range(length):
for j in range(i+1,length):
if listTest[i] > listTest[j]:
listTest[i],listTest[j] = listTest[j],listTest[i] #直接交换
return listTest ls = sortList(list1)
print(ls)

这种方法会频繁进行交换操作

2、一次循环记录最小值的下标,一次循环只交换一次

list1 = [56,34,87,3,59,10,3543,98]

def sortList(listTest = None):
length = len(listTest)
for i in range(length):
temp = i #记录最小值的下标
for j in range(i+1,length):
if listTest[temp] > listTest[j]:
temp = j
print(temp)
if temp != i: #如果第一个不是最小的,那么就交换
listTest[i],listTest[temp] = listTest[temp],listTest[i]
return listTest ls = sortList(list1)
print(ls)

这种就没有频繁交换了,但要每次记录最小值下标

3、不需要交换,使用新list记录最小值

list1 = [56,34,87,3,59,10,3543,98]

def sortList(listTest =None):
length = len(listTest)
listTemp = [] #记录每次循环最小值
for i in range(length):
minTemp = listTest[0]
for j in range(1,length):
if minTemp > listTest[j]:
minTemp = listTest[j]
length -= 1
listTest.remove(minTemp) #删除最小值
listTemp.append(minTemp) #记录最小值
return listTemp ls = sortList(list1)
print(ls)

最新文章

  1. excel学习
  2. protobuf框架简介
  3. Google map测量工具
  4. 用c++处理文件流
  5. phpcms v9 企业黄页加入企业会员提示“请选择企业库类型!”
  6. HttpOnly
  7. LoadRunner安装停在注册界面安装失败----解决办法之一
  8. Android-管理Activity生命周期 -暂停和恢复一个Activity
  9. 安装arcgis server完成,打开出现未关联错误怎么办
  10. [js高手之路] dom常用API【appendChild,insertBefore,removeChild,replaceChild,cloneNode】详解与应用
  11. python之元组
  12. jmeter 获取登录token
  13. DFS基础题
  14. sqlserver数据库授权操作
  15. 添加快捷键 ShortCut
  16. Lucene新版本号对ConjunctionScorer的优化
  17. xmr monero miner
  18. HTML页面每次打开的时候都清除页面缓存
  19. 【转】Windows消息投递流程:一般窗口消息投递(WM_LBUTTONCLICK)
  20. linux上chrome、vlc等程序root不能运行的解决办法

热门文章

  1. python--第十一天总结(paramiko 及数据库操作)
  2. poj2115(扩展欧基里德定理)
  3. Codeforces Round #449 (Div. 2)
  4. 安装fftw到window(vs2010)及使用fftw库函数实现4096点fft变换计算
  5. DBHelper类
  6. 347. Top K Frequent Elements 最常用的k个元素
  7. 阮一峰大神的快排?刚才还在纠结sort()的我!真是个小傻瓜
  8. leveldb 学习记录(二) Slice
  9. C++ MFC棋牌类小游戏day6
  10. collection管理程序中不同类别的资源