|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
- list1=[6,8,1,3,5]
- length=len(list1)
- for i in range(length):
- for j in range(length):
- if list1[i]<list1[j]:
- list1[i],list1[j]=list1[j],list1[i]
- print(list1)
复制代码
这是我自己写的排序算法,就是不清楚到底属于哪种排序
本帖最后由 DarkmasterSugar 于 2018-2-13 19:45 编辑
你这严格来说只能算交换排序,冒泡排序要求比较的是相邻元素(冒泡也是交换排序的一种)
冒泡是这么写的
- list1 = [6,8,1,3,5]
- length = len(list1)
- for i in range(length):
- for j in range(length - 1):
- if list1[j] > list1[j + 1]: # 注意比较的是相邻2个
- list1[j], list1[j + 1] = list1[j + 1], list1[j]
- print(list1)
复制代码
而且事实上冒泡排序只需要n-1趟冒泡,是稳定排序,上面排序核心部分甚至可以改成
- for i in range(length - 1): # i实际上是冒泡趟数
- for j in range(length - 1 - i): # j是实际用来排序的索引
- if list1[j] > list1[j + 1]:
- list1[j], list1[j + 1] = list1[j + 1], list1[j]
复制代码
|
|