自定义排序算法

自定义排序算法

 

1. 自定义排序算法
核心思想:确定第一个元素是最大值,确定第二个元素是最大值,确定第倒数第二个元素是最大值。

步骤:
  1.取出前几个数据(不要最后一个)
  2.与后面元素进行比较
  3.发现更xx则交换(取出的 比较的)
list01 = [43, 15, 5, 67, 87, 9]
for r in range(len(list01) - 1): # 0 1
  for c in range(r + 1, len(list01)):
    if list01[r] > list01[c]:
    list01[r], list01[c] = list01[c], list01[r]
print(list01)

 


 2. 在数字列表中查找最大的数字
算法:
[170 , 160 , 180 , 165]
假设第一个就是最大值
使用假设的和第二个进行比较, 发现更大的就替换假设的
使用假设的和第三个进行比较, 发现更大的就替换假设的
使用假设的和第四个进行比较, 发现更大的就替换假设的
最后,假设的就是最大的.

number = [170 , 160 , 180 , 165]
number_max = number[0]
for i in range(1,len(number)):
  if number_max < number[i]:
  number_max = number[i]
print(number_max)

 

3.  自定义算法实现下列功能

list01 = [3,9,34,26,5,6,7,8,9,6]
(1)在list01中找出最小值
(2)对liest01进行降序排列
(3)删除list01中大于10的元素
(4)删除list01中重复的元素


list01 = [3, 9, 34, 26, 5, 6, 7, 8, 9, 6]


# (1)
min_value = list01[0]
  for i in range(1, len(list01)):
    if min_value > list01[i]:
      min_value = list01[i]
print(min_value)


# (2)
for r in range(len(list01) - 1):
  for c in range(r + 1, len(list01)):
    if list01[r] < list01[c]:
      list01[r], list01[c] = list01[c], list01[r]
print(list01)


# (3)
for i in range(len(list01) - 1, -1, -1):
  if list01[i] > 10:
    del list01[i]
print(list01)


# (4)
for r in range(len(list01) - 1, 0, -1):
  for c in range(r):
    if list01[r] == list01[c]:
      del list01[r]
      break
print(list01)

posted @ 2020-06-07 21:54  geer蛋  阅读(189)  评论(0)    收藏  举报