排序

一,选择排序法

从第一个位置开始比较,找出最小的,和第一个位置互换,开始下一轮。

"""

lt = [3, 5, 2, 1, 8, 4,0,11]

#求出lt的长度

n = len(lt)

#外层循环确定比较的轮数,x是下标,lt[x]在外层循环中代表lt中所有元素

for xin range(n-1):# 包含一个0  实际上是N次

#内层循环开始比较

  for yin range(x+1,n):

#lt[x]在for y 循环中是代表特定的元素,lt [y]代表任意一个lt任意一个元素。

      if lt[x]>lt[y]:

#让lt[x]和lt列表中每一个元素比较,找出小的

        lt[x],lt[y]=lt[y],lt[x]

print(lt)

"""

二,冒泡排序法排序

从左到右,数组中相邻的两个元素进行比较,将较大的放到后面。

"""

lt = [3, 5, 2, 1, 8, 4]

n= len(lt)

for xin range(n-1):

for yin range(n-1-x):

if lt[y]>lt[y+1]:

lt[y],lt[y+1]=lt[y+1],lt[y]

print(lt)

"""

选择排序法和冒泡排序法的区别:

冒泡排序是比较相邻位置的两个数,而选择排序是按顺序比较,找最大值或者最小值;

冒泡排序每一轮比较后,位置不对都需要换位置,选择排序每一轮比较都只需要换一次位置;

冒泡排序是通过数去找位置,选择排序是给定位置去找数;

"""


sort()方法

grade = [88,57,98,100,45,66,89,93]

print("原列表",grade)

# 升序

grade.sort()

print("升序",grade)

# 降序

grade.sort(reverse=True)

print("降序",grade)

char = ["Char","ANGEL","Pig","dog","westt"]

char.sort()# 先按照大写  再按照小写排

print(char)

char.sort(key=str.lower)# 大写转换为小写

print(char)

# 内置 sorted 函数

grade_as = sorted(grade)

print("升序",grade)

grade_des = sorted(grade,reverse=True)

print("降序",grade_des)# 建立一个新的副本

print("原序列",grade)# 原序列不变

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容