"""
给出一个数组,对其从小到大排序,并删除重复数组
在Python中通过sorted函数和set很容易搞定
这里通过底层实现 2022-7-21
"""
list = [1,1,6,6,6,6,100,1000,1000,7,8,9,10,11,11,8]
for j in range(0,len(list)-1,1):
for i in range(j+1,len(list),1):
if list[i]<list[j]:
list[i],list[j] = list[j],list[i]
print("排序后的结果:",list)
un=[] # 存储重复值
for m in range(0,len(list)-1):
if list[m]==list[m+1]:
un.append(m+1)
print("记录重复值所在的位置:",un)
#删除重复值
del_n = 0
for mm in un:
ide = mm-del_n # 由于删除时长度一直在变,所有索引必须要减去一个数
list.pop(ide)
del_n = del_n+1
print("排序后删除重复值的结果:\n",list)
排序后的结果: [1, 1, 6, 6, 6, 6, 7, 8, 8, 9, 10, 11, 11, 100, 1000, 1000]
记录重复值所在的位置: [1, 3, 4, 5, 8, 12, 15]
排序后删除重复值的结果:
[1, 6, 7, 8, 9, 10, 11, 100, 1000]