自定义排序算法
自定义排序算法
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)

浙公网安备 33010602011771号