简单选择排序和二元选择排序
Posted 沈小呆
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了简单选择排序和二元选择排序相关的知识,希望对你有一定的参考价值。
简单排序
nums=[1,9,8]
length=len(nums)
for i in range(len(nums)):
maxindex=i
for j in range(maxindex+1,len(nums)):
if nums[j]>nums[maxindex]:
maxindex=j
print(maxindex,nums[maxindex])
if maxindex!=i:
nums[i],nums[maxindex]=nums[maxindex],nums[i]
print(nums)
1 9
2 8
2 1
[9, 8, 1]
二元选择排序(同时找最大值和最小值)
nums=[1,5,4]
length=len(nums)
for i in range(len(nums)):
maxindex=i
minindex=-1-i
minorigin=minindex
for j in range(maxindex+1,len(nums)):
if nums[j]>nums[maxindex]:
maxindex=j
if nums[-j-1]<nums[minindex]:
minindex=-j-1
else:
minindex=length+minindex #将负索引调为正索引
print(maxindex,nums[maxindex],minindex,nums[minindex])
if maxindex!=i:
nums[maxindex],nums[i] =
if minindex==i:#修正索引
minindex=maxindex
if minindex!=minorigin:
nums[minindex],nums[minorigin] =
print(nums)
1 5 0 1
1 4 1 4
2 1 0 5
4, 1]
总结
以上是关于简单选择排序和二元选择排序的主要内容,如果未能解决你的问题,请参考以下文章